12691a74d6f07ac24d39cfc1cab7f4ad3457b361
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-21  Yong Li  <yong.li@torchmobile.com>
2
3         Reviewed by George Staikos.
4
5         https://bugs.webkit.org/show_bug.cgi?id=27509
6         Add font-related files for the WinCE port.
7
8         Written by Yong Li <yong.li@torchmobile.com>
9
10         * platform/graphics/wince/FontCacheWince.cpp: Added.
11         * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
12         * platform/graphics/wince/FontCustomPlatformData.h: Added.
13         * platform/graphics/wince/FontPlatformData.cpp: Added.
14         * platform/graphics/wince/FontPlatformData.h: Added.
15         * platform/graphics/wince/FontWince.cpp: Added.
16         * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
17         * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
18
19 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
20
21         Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
22
23         * WebCorePrefix.h:
24
25 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
26
27         WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
28
29         * WebCorePrefix.h:
30
31 2009-07-21  Eric Seidel  <eric@webkit.org>
32
33         Reviewed by Adam Barth.
34
35         All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
36         https://bugs.webkit.org/show_bug.cgi?id=27478
37
38         This is just moving code.
39         I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
40
41         DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
42         (It's a baseclass because eventually all DOMObjects will have a global pointer, but
43         I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
44
45         DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
46         which require a backpointer to the Document to function.  I made this a subclass of
47         DOMConstructorObject to make clear that most constructors can hold no-such assumptions
48         about having a back-pointer to the Document (since many constructors can be used from Workers).
49
50         * bindings/js/JSAudioConstructor.cpp:
51         (WebCore::JSAudioConstructor::JSAudioConstructor):
52         * bindings/js/JSAudioConstructor.h:
53         * bindings/js/JSDOMBinding.h:
54         (WebCore::DOMObjectWithGlobalPointer::globalObject):
55         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
56         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
57         (WebCore::DOMObjectWithGlobalPointer::mark):
58         (WebCore::DOMConstructorObject::DOMConstructorObject):
59         (WebCore::DOMConstructorWithDocument::document):
60         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
61         * bindings/js/JSImageConstructor.cpp:
62         (WebCore::JSImageConstructor::JSImageConstructor):
63         * bindings/js/JSImageConstructor.h:
64         * bindings/js/JSMessageChannelConstructor.cpp:
65         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
66         * bindings/js/JSMessageChannelConstructor.h:
67         * bindings/js/JSOptionConstructor.cpp:
68         (WebCore::JSOptionConstructor::JSOptionConstructor):
69         * bindings/js/JSOptionConstructor.h:
70         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
71         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
72         * bindings/js/JSWebKitPointConstructor.cpp:
73         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
74         * bindings/js/JSWorkerConstructor.cpp:
75         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
76         * bindings/js/JSXMLHttpRequestConstructor.cpp:
77         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
78         * bindings/js/JSXMLHttpRequestConstructor.h:
79         * bindings/js/JSXSLTProcessorConstructor.cpp:
80         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
81
82 2009-07-21  James Hawkins  <jhawkins@google.com>
83
84         Reviewed by David Hyatt.
85
86         https://bugs.webkit.org/show_bug.cgi?id=27453
87         Initialize isInt when creating a CSSParserValue for a function.
88
89         No change in behavior, so no tests.
90
91         * css/CSSFunctionValue.cpp:
92         (WebCore::CSSFunctionValue::parserValue):
93
94 2009-07-20  Jens Alfke  <snej@google.com>
95  
96          Reviewed by David Levin.
97  
98          Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
99          Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
100          an arrow key is pressed.
101          https://bugs.webkit.org/show_bug.cgi?id=27448
102  
103          No new tests; affects only control response to user input.
104  
105          * dom/SelectElement.cpp:
106          Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
107          so it will behave compatibly with Mac HI guidelines on pop-up menus.
108          It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
109  
110 2009-07-21  Paul Godavari  <paul@chromium.org>
111
112         Reviewed by Eric Seidel.
113
114         [Chromium] popup menus can crash when the selected index is -1
115         https://bugs.webkit.org/show_bug.cgi?id=27275
116
117         Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
118         is passed an index of less than 0 (which is possible under certain circumstances). This
119         change prevents such a value from causing a crash by enforcing valid index values passed
120         by all callers of isSelectableItem. isSelectableItem is now a private method of
121         PopupListBox, as there are no external callers.
122
123         Also cleaned up a small amount of code for style and grammar errors.
124
125         No automatic test is provided since we cannot send events to the child window used by
126         the popup menu.
127
128         * platform/chromium/PopupMenuChromium.cpp:
129         (WebCore::PopupListBox::acceptIndex):
130         (WebCore::PopupListBox::selectIndex):
131         (WebCore::PopupListBox::isSelectableItem):
132         (WebCore::PopupListBox::selectPreviousRow):
133
134 2009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
135
136         wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
137
138         * platform/network/curl/ResourceHandleManager.h:
139
140 2009-07-21  Adam Roben  <aroben@apple.com>
141
142         Roll out r46153, r46154, and r46155
143
144         These changes were causing build failures and assertion failures on
145         Windows.
146
147         * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
148         * platform/graphics/cg/ImageBufferCG.cpp:
149
150 2009-07-21  Jian Li  <jianli@chromium.org>
151
152         Reviewed by Eric Seidel.
153
154         Implement ErrorEvent API.
155         https://bugs.webkit.org/show_bug.cgi?id=27387
156
157         * DerivedSources.cpp:
158         * DerivedSources.make:
159         * GNUmakefile.am:
160         * WebCore.gypi:
161         * WebCore.pro:
162         * WebCore.vcproj/WebCore.vcproj:
163         * WebCore.xcodeproj/project.pbxproj:
164         * WebCoreSources.bkl:
165         * bindings/js/JSEventCustom.cpp:
166         (WebCore::toJS):
167         * dom/ErrorEvent.cpp: Added.
168         * dom/ErrorEvent.h: Added.
169         * dom/ErrorEvent.idl: Added.
170         * dom/Event.cpp:
171         (WebCore::Event::isErrorEvent):
172         * dom/Event.h:
173
174 2009-07-21  Priit Laes  <plaes@plaes.org>
175
176         Reviewed by Gustavo Noronha.
177
178         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
179         https://bugs.webkit.org/show_bug.cgi?id=24602
180
181         Remove workaround required for <=libsoup-2.26.1
182
183         * platform/network/soup/ResourceHandleSoup.cpp:
184         (WebCore::restartedCallback):
185
186 2009-07-21  Adam Barth  <abarth@webkit.org>
187
188         Reviewed by David Levin.
189
190         V8IsolatedWorld keeps a handle to a disposed context
191         https://bugs.webkit.org/show_bug.cgi?id=27397
192
193         Make a copy of the context handle before making it weak.  We don't want
194         to make the original handle weak because we want it to survive for the
195         length of the V8IsolatedWorld::evaluate method.
196
197         * bindings/v8/V8IsolatedWorld.cpp:
198         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
199
200 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
201
202         Reviewed by Timothy Hatcher.
203
204         Web Inspector: Add ability to evaluate selection while on break point.
205
206         https://bugs.webkit.org/show_bug.cgi?id=27502
207
208         * inspector/front-end/SourceFrame.js:
209         (WebInspector.SourceFrame.prototype._loaded):
210         (WebInspector.SourceFrame.prototype._documentKeyDown):
211
212 2009-07-21  Pavel Feldman  <pfeldman@chromium.org>
213
214         Reviewed by Timothy Hatcher.
215
216         WebInspector: Special case ConsolePanel opening since
217         it is a 'fast view'.
218
219         https://bugs.webkit.org/show_bug.cgi?id=27493
220
221         * inspector/InspectorController.cpp:
222         (WebCore::InspectorController::setWindowVisible):
223
224 2009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
225
226         Reviewed by Eric Seidel.
227
228         Fix Qt code to follow the WebKit Coding Style.
229
230         * platform/graphics/qt/FontQt.cpp:
231         (WebCore::qstring):
232         (WebCore::fixSpacing):
233         * platform/graphics/qt/FontQt43.cpp:
234         (WebCore::generateComponents):
235         (WebCore::Font::offsetForPositionForComplexText):
236         (WebCore::cursorToX):
237         * platform/graphics/qt/GradientQt.cpp:
238         (WebCore::Gradient::platformGradient):
239         * platform/graphics/qt/GraphicsContextQt.cpp:
240         (WebCore::toQtFillRule):
241         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
242         (WebCore::GraphicsContext::~GraphicsContext):
243         (WebCore::GraphicsContext::getCTM):
244         (WebCore::GraphicsContext::concatCTM):
245         (WebCore::GraphicsContext::getWindowsContext):
246         * platform/graphics/qt/IconQt.cpp:
247         (WebCore::Icon::paint):
248         * platform/graphics/qt/ImageDecoderQt.cpp:
249         (WebCore::ImageDecoderQt::ReadContext::read):
250         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
251         (WebCore::ImageDecoderQt::setData):
252         * platform/graphics/qt/ImageQt.cpp:
253         (WebCore::Image::drawPattern):
254         (WebCore::BitmapImage::draw):
255         * platform/graphics/qt/ImageSourceQt.cpp:
256         (WebCore::ImageSource::frameDurationAtIndex):
257         (WebCore::ImageSource::frameHasAlphaAtIndex):
258         (WebCore::ImageSource::frameIsCompleteAtIndex):
259         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
260         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
261         (WebCore::MediaPlayerPrivate::create):
262         (WebCore::MediaPlayerPrivate::bytesLoaded):
263         (WebCore::MediaPlayerPrivate::updateStates):
264         * platform/graphics/qt/PathQt.cpp:
265         (WebCore::Path::addArcTo):
266         (WebCore::Path::isEmpty):
267         * platform/graphics/qt/TransformationMatrixQt.cpp:
268         (WebCore::TransformationMatrix::operator QTransform):
269         * platform/qt/ClipboardQt.cpp:
270         (WebCore::ClipboardQt::ClipboardQt):
271         (WebCore::ClipboardQt::clearData):
272         (WebCore::ClipboardQt::clearAllData):
273         (WebCore::ClipboardQt::getData):
274         (WebCore::ClipboardQt::setData):
275         (WebCore::ClipboardQt::setDragImage):
276         (WebCore::getCachedImage):
277         (WebCore::ClipboardQt::declareAndWriteDragImage):
278         (WebCore::ClipboardQt::writeURL):
279         (WebCore::ClipboardQt::writeRange):
280         (WebCore::ClipboardQt::hasData):
281         * platform/qt/ClipboardQt.h:
282         * platform/qt/ContextMenuItemQt.cpp:
283         (WebCore::ContextMenuItem::action):
284         (WebCore::ContextMenuItem::title):
285         * platform/qt/CursorQt.cpp:
286         (WebCore::westPanningCursor):
287         (WebCore::notAllowedCursor):
288         * platform/qt/DragDataQt.cpp:
289         (WebCore::DragData::containsFiles):
290         (WebCore::DragData::asFilenames):
291         (WebCore::DragData::asPlainText):
292         (WebCore::DragData::asFragment):
293         * platform/qt/DragImageQt.cpp:
294         (WebCore::createDragImageIconForCachedImage):
295         * platform/qt/FileSystemQt.cpp:
296         (WebCore::getFileSize):
297         (WebCore::unloadModule):
298         * platform/qt/Localizations.cpp:
299         (WebCore::contextMenuItemTagShowSpellingPanel):
300         * platform/qt/MIMETypeRegistryQt.cpp:
301         (WebCore::):
302         * platform/qt/PasteboardQt.cpp:
303         (WebCore::Pasteboard::Pasteboard):
304         (WebCore::Pasteboard::writeSelection):
305         (WebCore::Pasteboard::plainText):
306         * platform/qt/PlatformKeyboardEventQt.cpp:
307         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
308         * platform/qt/PlatformMouseEventQt.cpp:
309         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
310         * platform/qt/PopupMenuQt.cpp:
311         (WebCore::PopupMenu::populate):
312         * platform/qt/RenderThemeQt.cpp:
313         (WebCore::RenderThemeQt::fallbackStyle):
314         (WebCore::inflateButtonRect):
315         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
316         (WebCore::RenderThemeQt::paintButton):
317         (WebCore::RenderThemeQt::paintMenuList):
318         (WebCore::RenderThemeQt::applyTheme):
319         (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
320         (WebCore::RenderThemeQt::paintMediaBackground):
321         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
322         * platform/qt/RenderThemeQt.h:
323         * platform/qt/ScreenQt.cpp:
324         (WebCore::screenRect):
325         (WebCore::usableScreenRect):
326         * platform/qt/ScrollbarQt.cpp:
327         (WebCore::Scrollbar::contextMenu):
328         * platform/qt/ScrollbarThemeQt.cpp:
329         (WebCore::scPart):
330         (WebCore::scrollbarPart):
331         * platform/qt/ScrollbarThemeQt.h:
332         * platform/qt/SharedBufferQt.cpp:
333         (WebCore::SharedBuffer::createWithContentsOfFile):
334         * platform/qt/TemporaryLinkStubs.cpp:
335         (PluginDatabase::defaultPluginDirectories):
336         (PluginDatabase::getPluginPathsInDirectories):
337         (PluginDatabase::isPreferredPluginDirectory):
338         (WebCore::getSupportedKeySizes):
339         (WebCore::signedPublicKeyAndChallengeString):
340         (WebCore::userIdleTime):
341         (WebCore::prefetchDNS):
342         * platform/text/qt/StringQt.cpp:
343         (WebCore::String::String):
344         * platform/text/qt/TextBoundaries.cpp:
345         * platform/text/qt/TextBreakIteratorQt.cpp:
346         (WebCore::TextBreakIterator::following):
347         (WebCore::TextBreakIterator::preceding):
348         (WebCore::WordBreakIteratorQt::first):
349         (WebCore::WordBreakIteratorQt::next):
350         (WebCore::WordBreakIteratorQt::previous):
351         (WebCore::CharBreakIteratorQt::first):
352         (WebCore::CharBreakIteratorQt::next):
353         (WebCore::CharBreakIteratorQt::previous):
354         (WebCore::characterBreakIterator):
355         * plugins/qt/PluginPackageQt.cpp:
356         (WebCore::PluginPackage::fetchInfo):
357         * plugins/qt/PluginViewQt.cpp:
358         (WebCore::PluginView::userAgentStatic):
359         (WebCore::PluginView::handlePostReadFile):
360         (WebCore::PluginView::init):
361
362 2009-07-21  Maxime Simon  <simon.maxime@gmail.com>
363
364         Reviewed by David Levin.
365
366         Added a first bunch of Haiku-specific files for WebCore.
367         https://bugs.webkit.org/show_bug.cgi?id=26988
368
369         * platform/haiku/ClipboardHaiku.cpp: Added.
370         (WebCore::ClipboardHaiku::ClipboardHaiku):
371         (WebCore::ClipboardHaiku::clearData):
372         (WebCore::ClipboardHaiku::clearAllData):
373         (WebCore::ClipboardHaiku::getData):
374         (WebCore::ClipboardHaiku::setData):
375         (WebCore::ClipboardHaiku::types):
376         (WebCore::ClipboardHaiku::files):
377         (WebCore::ClipboardHaiku::dragLocation):
378         (WebCore::ClipboardHaiku::dragImage):
379         (WebCore::ClipboardHaiku::setDragImage):
380         (WebCore::ClipboardHaiku::dragImageElement):
381         (WebCore::ClipboardHaiku::setDragImageElement):
382         (WebCore::ClipboardHaiku::createDragImage):
383         (WebCore::ClipboardHaiku::declareAndWriteDragImage):
384         (WebCore::ClipboardHaiku::writeURL):
385         (WebCore::ClipboardHaiku::writeRange):
386         (WebCore::ClipboardHaiku::hasData):
387         * platform/haiku/ClipboardHaiku.h: Added.
388         (WebCore::ClipboardHaiku::create):
389         (WebCore::ClipboardHaiku::~ClipboardHaiku):
390         * platform/haiku/CookieJarHaiku.cpp: Added.
391         (WebCore::setCookies):
392         (WebCore::cookies):
393         (WebCore::cookiesEnabled):
394         * platform/haiku/CursorHaiku.cpp: Added.
395         (WebCore::Cursor::Cursor):
396         (WebCore::Cursor::~Cursor):
397         (WebCore::Cursor::operator=):
398         (WebCore::pointerCursor):
399         (WebCore::moveCursor):
400         (WebCore::crossCursor):
401         (WebCore::handCursor):
402         (WebCore::iBeamCursor):
403         (WebCore::waitCursor):
404         (WebCore::helpCursor):
405         (WebCore::eastResizeCursor):
406         (WebCore::northResizeCursor):
407         (WebCore::northEastResizeCursor):
408         (WebCore::northWestResizeCursor):
409         (WebCore::southResizeCursor):
410         (WebCore::southEastResizeCursor):
411         (WebCore::southWestResizeCursor):
412         (WebCore::westResizeCursor):
413         (WebCore::northSouthResizeCursor):
414         (WebCore::eastWestResizeCursor):
415         (WebCore::northEastSouthWestResizeCursor):
416         (WebCore::northWestSouthEastResizeCursor):
417         (WebCore::columnResizeCursor):
418         (WebCore::rowResizeCursor):
419         (WebCore::verticalTextCursor):
420         (WebCore::cellCursor):
421         (WebCore::contextMenuCursor):
422         (WebCore::noDropCursor):
423         (WebCore::copyCursor):
424         (WebCore::progressCursor):
425         (WebCore::aliasCursor):
426         (WebCore::noneCursor):
427         (WebCore::notAllowedCursor):
428         (WebCore::zoomInCursor):
429         (WebCore::zoomOutCursor):
430         (WebCore::grabCursor):
431         (WebCore::grabbingCursor):
432
433 2009-07-21  Albert Astals Cid <aacid@kde.org>
434
435         Reviewed by Tor Arne Vestbø.
436
437         Change #error line not to have a ' (single quote)
438
439         * DerivedSources.cpp:
440
441 2009-07-21  Roland Steiner  <rolandsteiner@google.com>
442
443         Reviewed by David Levin.
444
445         Add ENABLE_RUBY to list of build options
446         https://bugs.webkit.org/show_bug.cgi?id=27324
447
448         Added flag ENABLE_RUBY:
449
450         * Configurations/FeatureDefines.xcconfig:
451         * DerivedSources.make:
452         * GNUmakefile.am:
453         * WebCore.pro:
454         * WebCore.vcproj/WebCoreCommon.vsprops:
455         * WebCore.vcproj/build-generated-files.sh:
456
457 2009-07-21  James Hawkins  <jhawkins@google.com>
458
459         Reviewed by Eric Seidel.
460
461         https://bugs.webkit.org/show_bug.cgi?id=27467
462         Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
463         if matrix.invert() fails.  This prevents the use of an uninitialized
464         value in inverseMatrix.
465
466         No new tests added.  Run
467         LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
468         under valgrind and notice there are no errors.
469
470         * platform/graphics/skia/PlatformContextSkia.cpp:
471         (PlatformContextSkia::currentPathInLocalCoordinates):
472
473 2009-07-21  Stephen White  <senorblanco@chromium.org>
474
475         Reviewed by Eric Seidel.
476
477         https://bugs.webkit.org/show_bug.cgi?id=27388
478
479         Fix dotted and dashed borders on Chromium/skia.  This follows
480         the logic in the Cg path, so results are much closer to Safari now 
481         (some tests won't be exactly the same due to font layout differences).
482
483         * platform/graphics/skia/GraphicsContextSkia.cpp:
484         (WebCore::GraphicsContext::drawLine):
485         * platform/graphics/skia/PlatformContextSkia.cpp:
486         (PlatformContextSkia::setupPaintForStroking):
487
488 2009-07-20  Oliver Hunt  <oliver@apple.com>
489
490         Reviewed by Gavin Barraclough.
491
492         Make it harder to misuse try* allocation routines
493         https://bugs.webkit.org/show_bug.cgi?id=27469
494
495         Add forwarding header for PossiblyNull type, and add missing null check
496         to ImageBuffer creation.
497
498         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
499         * platform/graphics/cg/ImageBufferCG.cpp:
500         (WebCore::ImageBuffer::ImageBuffer):
501
502 2009-07-20  Adam Langley  <agl@google.com>
503
504         Reviewed by Eric Seidel.
505
506         Guard access to installedMediaEngines()[0].
507
508         https://bugs.webkit.org/show_bug.cgi?id=27479
509         http://code.google.com/p/chromium/issues/detail?id=16541
510
511         Else where in the file, installedMediaEngines is always checked for
512         being empty because access. This patch adds a case which missed that
513         check.
514
515         This triggered a crash in Chromium:
516             http://www.yakeze.com/chat/example-chromium-crash/
517
518         * platform/graphics/MediaPlayer.cpp:
519         (WebCore::MediaPlayer::load):
520
521 2009-07-20  Adam Langley  <agl@google.com>
522
523         Reviewed by Eric Seidel.
524
525         Allow search entries to render with a CSS border if the RenderTheme
526         doesn't paint them.
527
528         https://bugs.webkit.org/show_bug.cgi?id=27466
529         http://code.google.com/p/chromium/issues/detail?id=16958
530
531         <input type="search"> is very much like a text entry except that,
532         currently, if the RenderTheme doesn't deal with it, nothing is
533         rendered. With this patch, the default CSS border is rendered if the
534         RenderTheme requests it.
535
536         This will affect many layout tests, but only for Chromium Linux and
537         those results are not currently in the WebKit tree.
538
539         * rendering/RenderTheme.cpp:
540         (WebCore::RenderTheme::paintBorderOnly):
541
542 2009-07-17  Anton Muhin  <antonm@chromium.org>
543
544         Reviewed by Adam Barth.
545
546         Switch to faster methods to access internal fields.
547         https://bugs.webkit.org/show_bug.cgi?id=27372
548
549         Minor refactoring.
550
551         * bindings/scripts/CodeGeneratorV8.pm:
552         * bindings/v8/V8DOMWrapper.cpp:
553         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
554         (WebCore::V8DOMWrapper::setDOMWrapper):
555         * bindings/v8/V8DOMWrapper.h:
556         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
557         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
558         (WebCore::V8DOMWrapper::convertToNativeObject):
559         (WebCore::V8DOMWrapper::convertToNativeEvent):
560         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
561         (WebCore::CALLBACK_FUNC_DECL):
562         * bindings/v8/custom/V8ClipboardCustom.cpp:
563         (WebCore::CALLBACK_FUNC_DECL):
564         * bindings/v8/custom/V8DocumentCustom.cpp:
565         (WebCore::CALLBACK_FUNC_DECL):
566         * bindings/v8/custom/V8ElementCustom.cpp:
567         (WebCore::CALLBACK_FUNC_DECL):
568         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
569         (WebCore::CALLBACK_FUNC_DECL):
570         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
571         (WebCore::CALLBACK_FUNC_DECL):
572         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
573         (WebCore::removeElement):
574         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
575         (WebCore::CALLBACK_FUNC_DECL):
576         * bindings/v8/custom/V8NodeCustom.cpp:
577         (WebCore::CALLBACK_FUNC_DECL):
578         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
579         (WebCore::CALLBACK_FUNC_DECL):
580
581 2009-07-20  Adam Langley  <agl@google.com>
582
583         Reviewed by Eric Seidel.
584
585         Chromium Linux: cache Harfbuzz faces.
586
587         https://bugs.webkit.org/show_bug.cgi?id=27473
588
589         Previously, we recreated the Harfbuzz face for each script-run. With
590         this patch, we keep the Harfbuzz face in the FontPlatformData (created
591         as needed) and so they will persist for the duration of the
592         FontPlatformData.
593
594         Shouldn't affect any layout tests. Results in a significant win on the
595         intl2 page cycler time.
596
597         * platform/graphics/chromium/FontLinux.cpp:
598         (WebCore::TextRunWalker::~TextRunWalker):
599         (WebCore::TextRunWalker::setupFontForScriptRun):
600         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
601         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
602         (WebCore::FontPlatformData::FontPlatformData):
603         (WebCore::FontPlatformData::harfbuzzFace):
604         * platform/graphics/chromium/FontPlatformDataLinux.h:
605         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
606         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
607         (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
608         * platform/graphics/chromium/HarfbuzzSkia.h: Added.
609
610 2009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
611
612         Reviewed by Simon Fraser.
613
614         REGRESSION (r46142): Need to remove showTreeThisForThis
615         https://bugs.webkit.org/show_bug.cgi?id=27475
616
617         Removes showTreeThisForThis
618
619         * editing/IndentOutdentCommand.cpp:
620         (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
621
622 2009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
623
624         Reviewed by Eric Seidel.
625
626         Refactoring of indentRegion to fix bugs 26816 and 25317
627         https://bugs.webkit.org/show_bug.cgi?id=26816
628         https://bugs.webkit.org/show_bug.cgi?id=25317
629         https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
630
631         This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
632         and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
633
634         1. We try to indent as many wrapping nodes as possible.
635            e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
636         2. We do not delete any wrapping elements
637            With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
638            This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
639            With appendParagraphIntoNode, we can preserve all wrapping nodes.
640         3. We only split the tree until the closest block node instead of until the root editable node.
641            This behavioral change fixes the bug 25317.
642         4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
643            e.g. when a list is a child node of a div, and the entire div is intended,
644                 we enclose the div by a single blockquote.
645
646         Note that new behavior is more consistent with that of Internet Explorer and Firefox.
647         To demonstrate this, the following tests are added.
648
649         Tests: editing/execCommand/indent-div-inside-list.html
650                editing/execCommand/indent-nested-blockquotes.html
651                editing/execCommand/indent-nested-div.html
652                editing/execCommand/indent-second-paragraph-in-blockquote.html
653
654         * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
655         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
656         (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
657         (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
658         (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
659         (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
660         * editing/IndentOutdentCommand.h: updated prototype
661
662 2009-07-20  Dan Bernstein  <mitz@apple.com>
663
664         Try to fix release builds after r46136
665
666         * dom/Element.cpp:
667
668 2009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
669
670         Reviewed by Eric Seidel.
671
672         Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
673         https://bugs.webkit.org/show_bug.cgi?id=27380
674
675         Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
676
677         * css/mediaControlsQT.css:
678
679 2009-07-20  Peter Kasting  <pkasting@google.com>
680
681         Reviewed by Mark Rowe.
682
683         https://bugs.webkit.org/show_bug.cgi?id=27468
684         Back out r46060, which caused problems for some Apple developers.
685
686         * WebCore.vcproj/QTMovieWin.vcproj:
687         * WebCore.vcproj/WebCoreCommon.vsprops:
688         * WebCore.vcproj/WebCoreGenerated.vcproj:
689
690 2009-07-20  Dan Bernstein  <mitz@apple.com>
691
692         Reviewed by Anders Carlsson.
693
694         When loading a custom view into a frame, the old document is still
695         around
696         <rdar://problem/5145841>
697
698         Safari fires onload before PDF is loaded into the browser
699         <rdar://problem/6618869>
700
701         Test: fast/loader/non-html-load-event.html
702
703         * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
704         * WebCore.gypi: Ditto.
705         * WebCore.pro: Ditto.
706         * WebCore.vcproj/WebCore.vcproj: Ditto.
707         * WebCore.xcodeproj/project.pbxproj: Ditto.
708         * WebCoreSources.bkl: Ditto.
709         * dom/Document.h:
710         (WebCore::Document::setStyleSelector): Added this protected accessor for
711             PlaceholderDocument to use.
712         * dom/Element.cpp:
713         (WebCore::Element::clientWidth): Check whether the document has a
714             renderer.
715         (WebCore::Element::clientHeight): Ditto.
716         * loader/FrameLoader.cpp:
717         (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
718             that do not use an HTML view. Do not nullify the content size in
719             that case.
720         (WebCore::FrameLoader::transitionToCommitted): For frames that do not
721             use an HTML view, call receivedFirstData(), which sets up the
722             frame with a new PlaceHolderDocument.
723         * loader/PlaceholderDocument.cpp: Added.
724         (WebCore::PlaceholderDocument::attach): Sets up the style selector but
725             does not create a RenderView.
726         * loader/PlaceholderDocument.h: Added.
727         (WebCore::PlaceholderDocument::create):
728         (WebCore::PlaceholderDocument::PlaceholderDocument):
729
730 2009-07-20  Chris Marrin  <cmarrin@apple.com>
731
732         Reviewed by Simon Fraser.
733
734         Handle opacity and opacity animations on transform layers in Leopard
735         https://bugs.webkit.org/show_bug.cgi?id=27398
736
737         This makes two changes, and only for Leopard. 
738
739         First, whenever opacity is changed on a layer I propagate the 
740         change into the content layer and all the children if the layer 
741         on which opacity is set is a transform layer (preserve3D is true). 
742         The opacity set is the accumulated opacity from this layer
743         and all its direct ancestor transform layers. Second, I turn off all 
744         hardware opacity animation.
745
746         * platform/graphics/GraphicsLayer.cpp:
747         (WebCore::GraphicsLayer::accumulatedOpacity):
748         (WebCore::GraphicsLayer::distributeOpacity):
749         * platform/graphics/GraphicsLayer.h:
750         (WebCore::GraphicsLayer::setOpacityInternal):
751         * platform/graphics/mac/GraphicsLayerCA.h:
752         * platform/graphics/mac/GraphicsLayerCA.mm:
753         (WebCore::GraphicsLayerCA::setPreserves3D):
754         (WebCore::GraphicsLayerCA::setOpacity):
755         (WebCore::GraphicsLayerCA::animateFloat):
756         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
757         (WebCore::GraphicsLayerCA::setOpacityInternal):
758         (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
759
760 2009-07-20  Yong Li  <yong.li@torchmobile.com>
761
762         Reviewed by Adam Roben.
763
764         https://bugs.webkit.org/show_bug.cgi?id=27349
765         Add GraphicsContext implementation for the WinCE port.
766
767         Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
768         with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
769
770         * platform/graphics/wince/GraphicsContextWince.cpp: Added.
771
772 2009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
773
774         Reviewed by Dimitri Glazkov.
775
776         Adding the Win SQLite VFS implementation for Chromium, and stubs
777         for the Mac and Linux VFSs.
778
779         https://bugs.webkit.org/show_bug.cgi?id=26940
780
781         * WebCore.gypi:
782         * platform/chromium/ChromiumBridge.h:
783         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
784         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
785         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
786         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
787
788 2009-07-20  Xan Lopez  <xlopez@igalia.com>
789
790         Reviewed by Gustavo Noronha.
791
792         https://bugs.webkit.org/show_bug.cgi?id=27097
793         [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
794
795         Check that an object is a RenderObject before trying to access its
796         renderer and related node.
797
798         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
799         (webkit_accessible_get_role):
800
801 2009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
802
803         Reviewed by Simon Hausmann.
804
805         [Qt] font cache reworking
806         https://bugs.webkit.org/show_bug.cgi?id=27265
807
808         Reimplemented Qt's FontCache in a way that follows the shared one.
809         Now we can release its elements when those became inactive.
810         FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
811
812         No change in behavior, so no tests.
813
814         * platform/graphics/qt/FontCacheQt.cpp:
815         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
816         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
817         (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
818         It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
819         with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
820         FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
821         (WebCore::FontPlatformDataCacheKey::operator==):
822         (WebCore::FontPlatformDataCacheKey::hash):
823         (WebCore::FontPlatformDataCacheKey::computeHash):
824         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
825         (WebCore::FontPlatformDataCacheKeyHash::hash):
826         (WebCore::FontPlatformDataCacheKeyHash::equal):
827         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
828         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
829         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
830         (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
831         (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
832         (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
833         (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
834         (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
835         * platform/graphics/qt/FontFallbackListQt.cpp:
836         (WebCore::FontFallbackList::releaseFontData):
837         (WebCore::FontFallbackList::fontDataAt):
838         * platform/graphics/qt/FontPlatformData.h:
839         (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
840         (WebCore::FontPlatformData::bold): Ditto.
841         (WebCore::FontPlatformData::italic): Ditto.
842         (WebCore::FontPlatformData::smallCaps): Ditto.
843         (WebCore::FontPlatformData::pixelSize): Ditto.
844         * platform/graphics/qt/FontPlatformDataQt.cpp:
845         (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
846
847 2009-07-20  Xan Lopez  <xlopez@igalia.com>
848
849         Reviewed by Holger Freyther.
850
851         https://bugs.webkit.org/show_bug.cgi?id=26716
852         [Gtk] Each XMLHttpRequest leaks memory.
853
854         Free the SoupURI we create to check the URI. Fix suggested by John
855         Kjellberg.
856
857         * platform/network/soup/ResourceHandleSoup.cpp:
858         (WebCore::):
859
860 2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
861
862         Reviewed by Holger Freyther.
863
864         [Qt] On Symbian link against system sqlite3
865         https://bugs.webkit.org/show_bug.cgi?id=27368
866
867         Add an option to force linking against system sqlite3
868         by adding system-sqlite to the CONFIG variable.
869
870         The Symbian specific part of this patch is contributed by 
871         Norbert Leser.
872
873         * WebCore.pro:
874
875 2009-07-20  Xan Lopez  <xlopez@igalia.com>
876
877         Reviewed by Gustavo Noronha.
878
879         Change the glib version check to check for the first unstable
880         release with g_mapped_file_unref. Otherwise this would be useless
881         until 2.22 is released, a few months from now.
882
883         * platform/network/soup/ResourceHandleSoup.cpp:
884         (WebCore::ResourceHandle::startHttp):
885
886 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
887
888         Reviewed by and done with Tor Arne Vestbø.
889
890         Fix fast/css/pseudo-required-optional-*.html in the Qt build
891         after r46062.
892
893         These tests triggered a bug in RenderThemeQt where we did not fall back
894         to the unstyled painting of text areas and input fields when they have
895         a styled background.
896
897         Our re-implementation of isControlStyled incorrectly only checked the
898         border for determining whether to style or not. The base-implementation
899         performs the same check, but also includes the background. Removing
900         our implementation fixes the appearance.
901
902         * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
903         * platform/qt/RenderThemeQt.h: Ditto.
904
905 2009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
906
907         Rubber-stamped by Tor Arne Vestbø.
908
909         Add missing (sorted) header files to the HEADERS variable in the qmake
910         .pro file for improved completion in IDEs.
911
912         * WebCore.pro:
913
914 2009-07-19  Adam Barth  <abarth@webkit.org>
915
916         Reviewed by David Levin.
917
918         [V8] Factor V8ConsoleMessage out of V8Proxy
919         https://bugs.webkit.org/show_bug.cgi?id=27421
920
921         No behavior change.
922
923         * WebCore.gypi:
924         * bindings/v8/V8ConsoleMessage.cpp: Added.
925         (WebCore::V8ConsoleMessage::V8ConsoleMessage):
926         (WebCore::V8ConsoleMessage::dispatchNow):
927         (WebCore::V8ConsoleMessage::dispatchLater):
928         (WebCore::V8ConsoleMessage::processDelayed):
929         (WebCore::V8ConsoleMessage::handler):
930         * bindings/v8/V8ConsoleMessage.h: Added.
931         (WebCore::V8ConsoleMessage::Scope::Scope):
932         (WebCore::V8ConsoleMessage::Scope::~Scope):
933         * bindings/v8/V8Proxy.cpp:
934         (WebCore::logInfo):
935         (WebCore::reportUnsafeAccessTo):
936         (WebCore::V8Proxy::runScript):
937         (WebCore::V8Proxy::callFunction):
938         (WebCore::V8Proxy::newInstance):
939         (WebCore::V8Proxy::initContextIfNeeded):
940         (WebCore::V8Proxy::processConsoleMessages):
941
942 2009-07-19  Rob Buis  <rwlbuis@gmail.com>
943
944         Reviewed by Adam Barth.
945
946         Remove unused member variable.
947
948         * svg/SVGPolyElement.h:
949
950 2009-07-19  Eric Carlson  <eric.carlson@apple.com>
951
952         Reviewed by Dan Bernstein.
953
954         HTMLAudioElement: constructor should set "autobuffer" attribute
955         https://bugs.webkit.org/show_bug.cgi?id=27422
956
957         Test: media/audio-constructor-autobuffer.html
958
959         * bindings/js/JSAudioConstructor.cpp:
960         (WebCore::constructAudio):
961             Set 'autobuffer' attribute.
962
963 2009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
964
965         Reviewed by Simon Hausmann.
966
967         Fix the Qt build with mingw.
968
969         * WebCore.pro: Don't use MSVC commandline options to disable warnings
970         with mingw.
971
972 2009-07-19  Adam Barth  <abarth@webkit.org>
973
974         Reviewed by David Levin.
975
976         [V8] Phase 2: Remove event listener methods from V8Proxy
977         https://bugs.webkit.org/show_bug.cgi?id=27415
978
979         No behavior change.
980
981         * bindings/v8/V8ObjectEventListener.cpp:
982         (WebCore::weakObjectEventListenerCallback):
983         (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
984         * bindings/v8/V8Proxy.cpp:
985         (WebCore::V8Proxy::disconnectEventListeners):
986         * bindings/v8/V8Proxy.h:
987         (WebCore::V8Proxy::eventListeners):
988         (WebCore::V8Proxy::objectListeners):
989         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
990         (WebCore::getEventListener):
991         * bindings/v8/custom/V8CustomEventListener.cpp:
992         (WebCore::V8EventListener::~V8EventListener):
993         * bindings/v8/custom/V8DOMWindowCustom.cpp:
994         (WebCore::CALLBACK_FUNC_DECL):
995         (WebCore::ACCESSOR_SETTER):
996         * bindings/v8/custom/V8ElementCustom.cpp:
997         (WebCore::ACCESSOR_SETTER):
998         * bindings/v8/custom/V8MessagePortCustom.cpp:
999         (WebCore::ACCESSOR_SETTER):
1000         (WebCore::CALLBACK_FUNC_DECL):
1001         * bindings/v8/custom/V8NodeCustom.cpp:
1002         (WebCore::CALLBACK_FUNC_DECL):
1003         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1004         (WebCore::CALLBACK_FUNC_DECL):
1005         * bindings/v8/custom/V8WorkerCustom.cpp:
1006         (WebCore::getEventListener):
1007         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1008         (WebCore::getEventListener):
1009         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1010         (WebCore::ACCESSOR_SETTER):
1011         (WebCore::CALLBACK_FUNC_DECL):
1012
1013 2009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
1014
1015         Reviewed by Gustavo Noronha.
1016
1017         [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
1018         https://bugs.webkit.org/show_bug.cgi?id=27230
1019
1020         Use g_mapped_file_unref for GLIB version 2.22 onwards.
1021
1022         * platform/network/soup/ResourceHandleSoup.cpp:
1023         (WebCore::ResourceHandle::startHttp):
1024
1025 2009-07-18  Dan Bernstein  <mitz@apple.com>
1026
1027         Reviewed by Anders Carlsson.
1028
1029         Add spread radius support to -webkit-box-shadow
1030         https://bugs.webkit.org/show_bug.cgi?id=27417
1031         rdar://problem/7072267
1032
1033         Test: fast/box-shadow/spread.html
1034
1035         * css/CSSComputedStyleDeclaration.cpp:
1036         (WebCore::valueForShadow): Added a property ID parameter and used it to
1037             include the spread length for box-shadow but not for text-shadow.
1038         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1039             Pass the property ID to valueForShadow().
1040
1041         * css/CSSParser.cpp:
1042         (WebCore::ShadowParseContext::ShadowParseContext): Added property,
1043             spread, and allowSpread members. Added a property ID parameter to
1044             the constructor. Initialize the property and allowSpread members.
1045         (WebCore::ShadowParseContext::allowLength): Added allowSpread.
1046         (WebCore::ShadowParseContext::commitValue): Pass the spread value to
1047             the ShadowValue constructor. Reset allowSpread.
1048         (WebCore::ShadowParseContext::commitLength): Allow spread after blur
1049             for the box-shadow property.
1050         (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
1051         (WebCore::CSSParser::parseShadow): Pass the property ID to
1052             ShadowParseContext().
1053
1054         * css/CSSStyleSelector.cpp:
1055         (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
1056             the shadow value and pass it to the ShadowData constructor.
1057
1058         * css/ShadowValue.cpp:
1059         (WebCore::ShadowValue::ShadowValue): Added spread.
1060         (WebCore::ShadowValue::cssText): Added spread.
1061
1062         * css/ShadowValue.h:
1063         (WebCore::ShadowValue::create): Added spread.
1064
1065         * page/animation/AnimationBase.cpp:
1066         (WebCore::blendFunc): Blend the spread value.
1067         (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
1068             shadow.
1069
1070         * rendering/InlineFlowBox.cpp:
1071         (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
1072             the visual overflow calculations.
1073         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
1074         (WebCore::InlineFlowBox::paint): Ditto.
1075
1076         * rendering/RenderBlock.cpp:
1077         (WebCore::RenderBlock::overflowHeight): Ditto.
1078         (WebCore::RenderBlock::overflowWidth): Ditto.
1079         (WebCore::RenderBlock::overflowLeft): Ditto.
1080         (WebCore::RenderBlock::overflowTop): Ditto.
1081         (WebCore::RenderBlock::overflowRect): Ditto.
1082         (WebCore::RenderBlock::layoutBlock): Ditto.
1083
1084         * rendering/RenderBoxModelObject.cpp:
1085         (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
1086             casting rect by the shadow spread value. Adjust border radii if
1087             necessary.
1088
1089         * rendering/RenderFlexibleBox.cpp:
1090         (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
1091             visual overflow calculations.
1092         * rendering/RenderLayer.cpp:
1093         (WebCore::RenderLayer::calculateRects): Ditto.
1094
1095         * rendering/RenderObject.cpp:
1096         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
1097         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
1098
1099         * rendering/RenderReplaced.cpp:
1100         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
1101
1102         * rendering/style/RenderStyle.cpp:
1103         (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
1104             have spread.
1105
1106         * rendering/style/ShadowData.cpp:
1107         (WebCore::ShadowData::ShadowData): Added spread.
1108         (WebCore::ShadowData::operator==): Compare spread.
1109         * rendering/style/ShadowData.h:
1110         (WebCore::ShadowData::ShadowData): Added spread.
1111
1112 2009-07-18  Adam Barth  <abarth@webkit.org>
1113
1114         Reviewed by Jan Alonzo.
1115
1116         Minor FrameLoader.cpp cleanup
1117         https://bugs.webkit.org/show_bug.cgi?id=27406
1118
1119         No behavior change.
1120
1121         * loader/FrameLoader.cpp:
1122         (WebCore::FrameLoader::executeIfJavaScriptURL):
1123
1124 2009-07-18  Adam Barth  <abarth@webkit.org>
1125
1126         Reviewed by Darin Fisher.
1127
1128         [V8] Move event listener methods from V8Proxy to V8EventListenerList
1129         https://bugs.webkit.org/show_bug.cgi?id=27408
1130
1131         Move some event listener code out of V8Proxy and into the event
1132         listener list.
1133
1134         I'd like to remove these methods from V8Proxy entirely and just expose
1135         getters for the lists themselves, but I'll do that in a follow up
1136         patch.
1137
1138         * bindings/v8/V8EventListenerList.cpp:
1139         (WebCore::V8EventListenerList::findWrapper):
1140         * bindings/v8/V8EventListenerList.h:
1141         (WebCore::V8EventListenerList::findOrCreateWrapper):
1142         * bindings/v8/V8ObjectEventListener.cpp:
1143         * bindings/v8/V8Proxy.cpp:
1144         (WebCore::V8Proxy::findV8EventListener):
1145         (WebCore::V8Proxy::findOrCreateV8EventListener):
1146         (WebCore::V8Proxy::removeV8EventListener):
1147         (WebCore::V8Proxy::findObjectEventListener):
1148         (WebCore::V8Proxy::findOrCreateObjectEventListener):
1149         (WebCore::V8Proxy::removeObjectEventListener):
1150         * bindings/v8/V8Proxy.h:
1151
1152 2009-07-18  Jeremy Orlow  <jorlow@chromium.org>
1153
1154         Rubber stamped by Adam Barth.
1155
1156         Revert https://bugs.webkit.org/show_bug.cgi?id=27383
1157         https://bugs.webkit.org/show_bug.cgi?id=27407
1158
1159         Revert Jens' patch.  I believe he forgot to include a file.
1160
1161         * WebCore.gypi:
1162         * bindings/scripts/CodeGeneratorV8.pm:
1163         * bindings/v8/DOMObjectsInclude.h:
1164         * bindings/v8/V8DOMWrapper.cpp:
1165         (WebCore::V8DOMWrapper::getTemplate):
1166         * bindings/v8/V8DataGridDataSource.cpp: Removed.
1167         * bindings/v8/V8DataGridDataSource.h: Removed.
1168         * bindings/v8/V8GCController.h:
1169         * bindings/v8/V8Index.h:
1170         * bindings/v8/custom/V8CustomBinding.h:
1171         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
1172         (WebCore::ACCESSOR_GETTER):
1173         (WebCore::ACCESSOR_SETTER):
1174
1175 2009-07-17  Daniel Bates  <dbates@intudata.com>
1176
1177         Reviewed by Adam Barth.
1178         
1179         https://bugs.webkit.org/show_bug.cgi?id=27405
1180
1181         Fixes an issue when decoding HTML entities with an unknown named entity that 
1182         caused null-characters to be inserted into the decoded result.
1183
1184         Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
1185               http/tests/security/xssAuditor/javascript-link-ampersand.html
1186
1187         * page/XSSAuditor.cpp:
1188         (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
1189         non-zero entity values are not inserted during decoding process.
1190
1191 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
1192
1193         <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
1194
1195         Reviewed by Holger Freyther.
1196
1197         Add Gtk to platforms that want to open the menulist using the
1198         spacebar.
1199
1200         * dom/SelectElement.cpp:
1201         (WebCore::SelectElement::menuListDefaultEventHandler):
1202
1203 2009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
1204
1205         Reviewed by Jan Alonzo.
1206
1207         https://bugs.webkit.org/show_bug.cgi?id=25523
1208         [GTK] The text displayed by push buttons is not exposed to assistive technologies
1209
1210         Add new public method text() to RenderButton and use it from
1211         AccessibilityRenderObject::stringValue().
1212
1213         * accessibility/AccessibilityRenderObject.cpp:
1214         (WebCore::AccessibilityRenderObject::stringValue):
1215         * rendering/RenderButton.cpp:
1216         (WebCore::RenderButton::text):
1217         * rendering/RenderButton.h:
1218
1219 2009-07-17  Anton Muhin  <antonm@chromium.org>
1220
1221         Reviewed by Dimitri Glazkov.
1222
1223         Restore proxy retrieval
1224         https://bugs.webkit.org/show_bug.cgi?id=27369
1225
1226         No new tests are needed.
1227
1228         * bindings/v8/V8DOMWrapper.cpp:
1229         (WebCore::V8DOMWrapper::instantiateV8Object):
1230
1231 2009-07-17  Yael Aharon  <yael.aharon@nokia.com>
1232
1233         Reviewed by George Staikos.
1234
1235         https://bugs.webkit.org/show_bug.cgi?id=27351
1236         Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
1237         Use uname to find the correct platform for Linux.
1238
1239         * page/NavigatorBase.cpp:
1240         (WebCore::NavigatorBase::platform):
1241
1242 2009-07-17  Jens Alfke  <snej@chromium.org>
1243
1244         Reviewed by Dimitri Glazkov.
1245
1246         Hook up V8 bindings for DataGrid elements.
1247         https://bugs.webkit.org/show_bug.cgi?id=27383
1248         http://code.google.com/p/chromium/issues/detail?id=16730
1249
1250         Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
1251         to handle exceptions, check appropriate JS prototypes, and
1252         test column-list's item() method as well as array-indexing.
1253
1254         * WebCore.gypi: Added new source files.
1255         * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
1256         * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
1257         * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
1258         (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
1259         * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
1260         (WebCore::V8DataGridDataSource::V8DataGridDataSource):
1261         (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
1262         * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
1263         (WebCore::V8DataGridDataSource::create):
1264         (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
1265         (WebCore::V8DataGridDataSource::jsDataSource):
1266         (WebCore::asV8DataGridDataSource):
1267         * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
1268         * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
1269         * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
1270         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
1271         (WebCore::ACCESSOR_GETTER):
1272         (WebCore::ACCESSOR_SETTER):
1273
1274 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1275
1276         Reviewed by Darin Fisher.
1277
1278         StorageArea should only contain methods we intend to proxy.
1279         https://bugs.webkit.org/show_bug.cgi?id=27181
1280
1281         Right now, StorageAreaSync takes in a StorageArea* and calls methods
1282         like importItem.  Really, StorageAreaSync should be operating directly
1283         on StorageAreaImpl* and those methods should be removed from StorageArea
1284         since StorageAreaSync should never be attached to anything other than a
1285         StorageAreaImpl.
1286
1287         This was pointed out in the review for
1288         https://bugs.webkit.org/show_bug.cgi?id=27072
1289
1290         Also clean up StorageNamespaceImpl to operate directly on
1291         StorageAreaImpl.  Also, get rid of the factory for StorageArea
1292         since nothing should ever create a StorageArea directly.
1293
1294         * GNUmakefile.am:
1295         * WebCore.vcproj/WebCore.vcproj:
1296         * WebCore.xcodeproj/project.pbxproj:
1297         * WebCoreSources.bkl:
1298         * storage/StorageArea.cpp: Removed.
1299         * storage/StorageArea.h:
1300         (WebCore::StorageArea::~StorageArea):
1301         * storage/StorageAreaImpl.cpp:
1302         (WebCore::StorageAreaImpl::copy):
1303         * storage/StorageAreaImpl.h:
1304         * storage/StorageAreaSync.cpp:
1305         (WebCore::StorageAreaSync::create):
1306         (WebCore::StorageAreaSync::StorageAreaSync):
1307         * storage/StorageAreaSync.h:
1308         * storage/StorageNamespaceImpl.cpp:
1309         (WebCore::StorageNamespaceImpl::copy):
1310         (WebCore::StorageNamespaceImpl::storageArea):
1311         * storage/StorageNamespaceImpl.h:
1312
1313 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1314
1315         Reviewed by Dimitri Glazkov.
1316
1317         Add v8 implementation for DOM Storage ScriptObjectQuarantine.
1318         https://bugs.webkit.org/show_bug.cgi?id=27327
1319
1320         Wrap the storage object with a generic object as is done elsewhere in
1321         the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
1322         enabled.
1323
1324         * bindings/v8/ScriptObjectQuarantine.cpp:
1325         (WebCore::getQuarantinedScriptObject):
1326
1327 2009-07-17  Mads Ager  <ager@chromium.org>
1328
1329         Reviewed by Dimitri Glazkov.
1330
1331         https://bugs.webkit.org/show_bug.cgi?id=27394
1332         Fix access to global object wrappers after navigation of their
1333         frame in the V8 bindings.  This fixes selenium test failures.
1334
1335         * bindings/v8/V8Proxy.cpp:
1336         (WebCore::V8Proxy::updateDocument):
1337
1338 2009-07-17  Mark Rowe  <mrowe@apple.com>
1339
1340         Fix the 32-bit build by removing implicit float <-> double conversions.
1341
1342         * inspector/InspectorController.cpp:
1343         (WebCore::constrainedAttachedWindowHeight):
1344
1345 2009-07-17  Brian Weinstein  <bweinstein@apple.com>
1346
1347         Reviewed by Adam Roben.
1348
1349         Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
1350         https://bugs.webkit.org/show_bug.cgi?id=14272
1351         
1352         Moved preference setting for attached inspector height and inspector height calculation from
1353         WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
1354         Windows resizing of attached inspector.
1355
1356         * inspector/InspectorController.cpp:
1357         * inspector/InspectorController.h:
1358
1359 2009-07-17  Dan Bernstein  <mitz@apple.com>
1360
1361         Another attempt at fixing the build after r46063
1362
1363         * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
1364             header, because it is now included from htmlediting.h, which is
1365             a private header.
1366
1367 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
1368
1369         Reviewed by Dan Bernstein.
1370
1371         https://bugs.webkit.org/show_bug.cgi?id=27396
1372         Moving cursor in Thai text sometimes jumps over two characters
1373
1374         Test: editing/text-iterator/thai-cursor-movement.html
1375
1376         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
1377         case for five Thai characters, matching ICU/CLDR changes.
1378
1379 2009-07-14  Eric Seidel  <eric@webkit.org>
1380
1381         Reviewed by Adam Barth.
1382
1383         Some constructor objects exposed on Window have the wrong prototype chain
1384         https://bugs.webkit.org/show_bug.cgi?id=27276
1385
1386         Several Constructor classes were already being passed a global object
1387         during construction, but they were ignoring it for prototype lookup.
1388         I've fixed those to use the passed global object instead.
1389
1390         Most of these Constructor classes should just be auto-generated, but I
1391         refrained from changing them over to auto-gen in this patch.
1392
1393         Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
1394         available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
1395         to match existing behavior.
1396
1397         Test: fast/dom/prototype-inheritance.html
1398
1399         * bindings/js/JSAudioConstructor.cpp:
1400         (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
1401         * bindings/js/JSDOMBinding.h:
1402         (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
1403         (WebCore::deprecatedGetDOMStructure):
1404         * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
1405         * bindings/js/JSDOMWindowCustom.cpp:
1406         (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
1407         (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
1408         (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
1409         (WebCore::JSDOMWindow::worker): pass "this" for the global object.
1410         * bindings/js/JSImageConstructor.cpp:
1411         (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
1412         * bindings/js/JSMessageChannelConstructor.cpp:
1413         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
1414         * bindings/js/JSOptionConstructor.cpp:
1415         (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
1416         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
1417         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
1418         * bindings/js/JSWebKitCSSMatrixConstructor.h:
1419         * bindings/js/JSWebKitPointConstructor.cpp:
1420         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
1421         * bindings/js/JSWebKitPointConstructor.h:
1422         * bindings/js/JSWorkerConstructor.cpp:
1423         (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
1424         * bindings/js/JSWorkerConstructor.h:
1425         * bindings/js/JSXMLHttpRequestConstructor.cpp:
1426         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
1427          -- XMLHttpRequest constructor was also missing a length.  Added one.
1428         * bindings/js/JSXSLTProcessorConstructor.cpp:
1429         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1430         * bindings/js/JSXSLTProcessorConstructor.h:
1431         * bindings/scripts/CodeGeneratorJS.pm:
1432
1433 2009-07-17  Dan Bernstein  <mitz@apple.com>
1434
1435         Build fix
1436
1437         * editing/htmlediting.cpp:
1438         (WebCore::visiblePositionBeforeNode):
1439         (WebCore::visiblePositionAfterNode):
1440
1441 2009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
1442
1443         Gtk build fix for symbol lookup error.
1444
1445         Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
1446         Changed in http://trac.webkit.org/changeset/46048
1447
1448         * GNUmakefile.am:
1449
1450 2009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
1451
1452         Reviewed by Eric Seidel.
1453
1454         htmlediting.cpp needs more utility functions to fix the bug 26816
1455         https://bugs.webkit.org/show_bug.cgi?id=27038
1456
1457         In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
1458
1459         No tests because functions haven't been used anywhere yet.
1460
1461         * dom/Range.cpp:
1462         (WebCore::Range::create):
1463         (WebCore::Range::comparePoint): added const qualifier
1464         (WebCore::Range::compareNode): added const qualifier
1465         * dom/Range.h:
1466         * editing/htmlediting.cpp:
1467         (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
1468         (WebCore::positionBeforeNode): added ASSERT(node)
1469         (WebCore::positionAfterNode): added ASSERT(node)
1470         (WebCore::visiblePositionBeforeNode):
1471         (WebCore::visiblePositionAfterNode):
1472         (WebCore::createRange): create a range object from two visible positions
1473         (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
1474         (WebCore::canMergeLists): typo
1475         (WebCore::indexForVisiblePosition): added const qualifier
1476         (WebCore::isVisiblyAdjacent): typo
1477         (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
1478         * editing/htmlediting.h:
1479
1480 2009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
1481
1482         Reviewed by Darin Adler.
1483
1484         https://bugs.webkit.org/show_bug.cgi?id=25551
1485         Added support for the "required" attribute, the valueMissing flag
1486         to the ValidityState object and :required/:optional CSS pseudoclasses.
1487         Part of HTML5 sec. Forms specs.
1488         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
1489
1490         Tests: fast/css/pseudo-required-optional-001.html
1491                fast/css/pseudo-required-optional-002.html
1492                fast/css/pseudo-required-optional-003.html
1493                fast/css/pseudo-required-optional-004.html
1494                fast/css/pseudo-required-optional-005.html
1495                fast/css/pseudo-required-optional-006.html
1496                fast/forms/ValidityState-valueMissing-001.html
1497                fast/forms/ValidityState-valueMissing-002.html
1498                fast/forms/ValidityState-valueMissing-003.html
1499                fast/forms/ValidityState-valueMissing-004.html
1500                fast/forms/ValidityState-valueMissing-005.html
1501                fast/forms/ValidityState-valueMissing-006.html
1502                fast/forms/ValidityState-valueMissing-007.html
1503                fast/forms/ValidityState-valueMissing-008.html
1504                fast/forms/ValidityState-valueMissing-009.html
1505                fast/forms/required-attribute-001.html
1506                fast/forms/required-attribute-002.html
1507
1508         * css/CSSSelector.cpp:
1509         (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
1510         * css/CSSSelector.h:
1511         (WebCore::CSSSelector::): ditto
1512         * css/CSSStyleSelector.cpp:
1513         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
1514         * dom/Element.h:
1515         (WebCore::Element::isOptionalFormControl): check for optional controls
1516         (WebCore::Element::isRequiredFormControl): check for required controls
1517         * html/HTMLAttributeNames.in: required attribute
1518         * html/HTMLButtonElement.h:
1519         (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
1520         * html/HTMLFormControlElement.cpp:
1521         (WebCore::HTMLFormControlElement::required): requiredAttr getter
1522         (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
1523         * html/HTMLFormControlElement.h:
1524         (WebCore::HTMLFormControlElement::valueMissing): method definition
1525         * html/HTMLInputElement.cpp:
1526         (WebCore::HTMLInputElement::valueMissing): validation code
1527         (WebCore::HTMLInputElement::isRequiredFormControl): ditto
1528         * html/HTMLInputElement.h:
1529         (WebCore::HTMLInputElement::isOptionalFormControl): ditto
1530         * html/HTMLInputElement.idl: required DOM attribute
1531         * html/HTMLSelectElement.h:
1532         (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
1533         * html/HTMLTextAreaElement.h:
1534         (WebCore::HTMLTextAreaElement::valueMissing): validation code
1535         (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
1536         (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
1537         * html/HTMLTextAreaElement.idl: required DOM attribute
1538         * html/ValidityState.cpp:
1539         * html/ValidityState.h:
1540         (WebCore::ValidityState::valueMissing): validation flag
1541
1542 2009-07-17  Beth Dakin  <bdakin@apple.com>
1543
1544         Reviewed by Darin Adler.
1545
1546         Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
1547         cursor hotspots should work in quirks mode
1548         - and corresponding <rdar://problem/6554340>
1549
1550         Enable hotspots in quirks mode.
1551         * css/CSSParser.cpp:
1552         (WebCore::CSSParser::parseValue):
1553
1554         Update this manual test to reflect the fact that hotspots are now 
1555         expected to work in quirks mode.
1556         * manual-tests/css3-cursor-fallback-quirks.html:
1557
1558 2009-07-17  Peter Kasting  <pkasting@google.com>
1559
1560         Reviewed by Steve Falkenburg.
1561
1562         https://bugs.webkit.org/show_bug.cgi?id=27323
1563         Only add Cygwin to the path when it isn't already there.  This avoids
1564         causing problems for people who purposefully have non-Cygwin versions of
1565         executables like svn in front of the Cygwin ones in their paths.
1566
1567         * WebCore.vcproj/QTMovieWin.vcproj:
1568         * WebCore.vcproj/WebCoreCommon.vsprops:
1569         * WebCore.vcproj/WebCoreGenerated.vcproj:
1570
1571 2009-07-17  Alexey Proskuryakov  <ap@webkit.org>
1572
1573         Reviewed by David Levin.
1574
1575         https://bugs.webkit.org/show_bug.cgi?id=27384
1576         Random crashes in appcache/update-cache.html test
1577
1578         * loader/appcache/ApplicationCacheGroup.cpp:
1579         (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
1580         after canceling it.
1581
1582 2009-07-17  Drew Wilson  <atwilson@google.com>
1583
1584         Reviewed by David Levin.
1585
1586         Need to refactor Worker to derive from AbstractWorker
1587         https://bugs.webkit.org/show_bug.cgi?id=26948
1588
1589         Changed Worker to derive from AbstractWorker, which involved moving
1590         AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
1591         ENABLE_WORKERS.
1592
1593         Removed obsolete functionality from the JS/V8 bindings that is now
1594         inherited from AbstractWorker.
1595
1596         * WebCore.pro:
1597         Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
1598         * bindings/js/JSAbstractWorkerCustom.cpp:
1599         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1600         * bindings/js/JSWorkerCustom.cpp:
1601         Removed obsolete event listener code (now in base class)
1602         (WebCore::JSWorker::mark):
1603         No longer need to explicitly mark event listeners (handled by base class).
1604         * bindings/v8/V8Index.h:
1605         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
1606         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1607         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1608         * bindings/v8/custom/V8CustomBinding.h:
1609         Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
1610         * bindings/v8/custom/V8WorkerCustom.cpp:
1611         Removed obsolete event listener code that now lives in the base class.
1612         (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
1613         * workers/AbstractWorker.cpp:
1614         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1615         * workers/AbstractWorker.h:
1616         Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
1617         * workers/Worker.cpp:
1618         Removed event listener code (now in base class).
1619         (WebCore::Worker::Worker): Now derives from AbstractWorker.
1620         (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
1621         * workers/Worker.h:
1622         Removed APIs that now live in the base class.
1623         * workers/Worker.idl:
1624         Now derives from AbstractWorker.
1625         Removed APIs that live in the base class, and added a GenerateToJS flag.
1626
1627 2009-07-17  David Hyatt  <hyatt@apple.com>
1628
1629         Reviewed by Dan Bernstein.
1630
1631         https://bugs.webkit.org/show_bug.cgi?id=27379
1632         Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
1633         the vertical scrollbar width for overflow:scroll elements.
1634
1635         Added fast/css/positioned-overflow-scroll.html
1636
1637         * rendering/RenderBlock.cpp:
1638         (WebCore::RenderBlock::calcPrefWidths):
1639         * rendering/RenderFlexibleBox.cpp:
1640         (WebCore::RenderFlexibleBox::calcPrefWidths):
1641
1642 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1643
1644         Reviewed by Dimitri Glazkov.
1645
1646         Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
1647         https://bugs.webkit.org/show_bug.cgi?id=27375
1648
1649         In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
1650         and StorageEvent.cpp.  Unfortunately, until later this afternoon,
1651         DOM_STORAGE is not turned on by default in Chromium, and so these two
1652         files are never generated.  This breaks the compile.
1653
1654         There are no other instances of guards in the file, which puzzles me...
1655         but I think adding guards is the right way to go about this.
1656
1657         * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
1658
1659 2009-07-17  Brady Eidson  <beidson@apple.com>
1660
1661         Reviewed by Darin Adler.
1662
1663         https://bugs.webkit.org/show_bug.cgi?id=26496
1664
1665         Let WebCore always enforce the connection-per-host limit itself.
1666
1667         * loader/loader.cpp:
1668         (WebCore::Loader::Host::servePendingRequests):
1669
1670 2009-07-17  Chris Marrin  <cmarrin@apple.com>
1671
1672         Reviewed by David Hyatt.
1673
1674         Some transitions don't work correctly on Leopard
1675         https://bugs.webkit.org/show_bug.cgi?id=27356
1676
1677         We only have code to do component animation using valueFunction.
1678         So on Leopard we always need to do matrix animation in hardware.
1679         This fix ensures that. 
1680
1681         This is currently not testable because it appears only in the
1682         hardware animation and we can't yet do pixel tests while 
1683         hardware animating.
1684
1685         * platform/graphics/mac/GraphicsLayerCA.mm:
1686         (WebCore::GraphicsLayerCA::animateTransform):
1687
1688 2009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
1689
1690         Reviewed by Gustavo Noronha.
1691
1692         [GTK+] Crash in screenAvailable due a null Widget*
1693
1694         JSDOMWindow::open called screenAvailableRect(0). The other
1695         Screen methods can be called with a null widget as well, fix the
1696         crashing test by checking for null.
1697
1698         In screenRect and screenAvailableRect it is not tried to use
1699         a default screen as the existing implementation didn't try either
1700         in case of not having a toplevel widget.
1701
1702         LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
1703
1704         * platform/gtk/PlatformScreenGtk.cpp:
1705         (WebCore::getVisual): New method to get a visual or return zero.
1706         (WebCore::screenDepth): Use getVisual.
1707         (WebCore::screenDepthPerComponent): Use getVisual.
1708         (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
1709         (WebCore::screenRect): Check for !widget.
1710         (WebCore::screenAvailableRect): Check for !widget.
1711
1712 2009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1713
1714         Reviewed by Simon Hausmann.
1715
1716         [Qt] Fix the include path for the Symbian port
1717         https://bugs.webkit.org/show_bug.cgi?id=27358
1718
1719         * WebCore.pro:
1720
1721 2009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
1722
1723         Reviewed by Simon Hausmann.
1724
1725         Make it possible to set the plugin directories from the DRT.
1726         Part of https://bugs.webkit.org/show_bug.cgi?id=27215
1727
1728         * plugins/PluginDatabase.cpp:
1729         (WebCore::PluginDatabase::installedPlugins): Now optionally takes
1730         a populate argument, so we can avoid loading system plugins from the
1731         DRT and thus avoid their strerr errors that can make tests fail.
1732         (WebCore::PluginDatabase::clear): Make it possible to clear the
1733         database. Called from setPluginDirectories.
1734         * plugins/PluginDatabase.h:
1735         (WebCore::PluginDatabase::setPluginDirectories): Make public
1736
1737 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1738
1739         Reviewed by Simon Hausmann.
1740
1741         PluginViewMac: Stop the plugin when loading fails
1742
1743         Also, prevent event propagation when in the stopped state
1744
1745         * plugins/mac/PluginViewMac.cpp:
1746
1747 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1748
1749         Reviewed by Simon Hausmann.
1750
1751         PluginViewMac: Allow query and set of drawing and event models
1752
1753         We now support querying and setting of the drawing and event model,
1754         but we still only support the CoreGraphics drawing model, and the
1755         Carbon event model.
1756
1757         If unsupported drawing or event models are detected we show the
1758         missing-plugin icon.
1759
1760         * plugins/PluginView.cpp:
1761         * plugins/PluginView.h:
1762         * plugins/mac/PluginViewMac.cpp:
1763
1764 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1765
1766         Reviewed by Simon Hausmann.
1767
1768         Initialize two PluginView members using memset
1769
1770         m_npWindow is used on all platforms, not just for XP_UNIX,
1771         so always initialize it. m_npCgContext on the other hand
1772         is only used for XP_MACOSX.
1773
1774         * plugins/PluginView.cpp:
1775
1776 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1777
1778         Reviewed by Simon Hausmann.
1779
1780         Add more debug logging in PluginView
1781
1782         * plugins/PluginView.cpp: Add debug for setValue
1783         * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
1784         * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
1785         * plugins/qt/PluginViewQt.cpp: Add debug for getValue
1786         * plugins/win/PluginViewWin.cpp: Add debug for getValue
1787
1788 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1789
1790         Reviewed by Holger Freyther.
1791
1792         Use same license in PluginDebug.cpp as in the original PluginDebug.h
1793
1794         * plugins/PluginDebug.cpp: Use license from PluginDebug.h
1795
1796 2009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1797
1798         Reviewed by Simon Hausmann.
1799
1800         Add more debugging functionality for the WebCore NPAPI layer
1801
1802         * GNUmakefile.am: Add PluginDebug.cpp
1803         * WebCore.gypi: Add PluginDebug.cpp
1804         * WebCore.pro: Add PluginDebug.cpp
1805         * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
1806         * WebCoreSources.bkl: Add PluginDebug.cpp
1807         * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
1808         * plugins/PluginDebug.cpp: New file
1809
1810 2009-07-17  Jeremy Orlow  <jorlow@chromium.org>
1811
1812         Reviewed by David Levin.
1813
1814         Fix Chromium build with DOM_STORAGE enabled.
1815         https://bugs.webkit.org/show_bug.cgi?id=27360
1816
1817         2 minor changes as noted below:
1818
1819         * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
1820         * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
1821
1822 2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
1823
1824         Reviewed by David Levin.
1825
1826         Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
1827         https://bugs.webkit.org/show_bug.cgi?id=27206
1828         
1829         Add ENABLE_WEB_SOCKETS
1830
1831         * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
1832         * GNUmakefile.am: add ENABLE_WEB_SOCKETS
1833         * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
1834         * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
1835
1836 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
1837
1838         Reviewed by Oliver Hunt.
1839
1840         Added a third bunch of Haiku-specific files for WebCore.
1841         https://bugs.webkit.org/show_bug.cgi?id=26952
1842
1843         Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
1844         FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
1845
1846         * platform/haiku/EventLoopHaiku.cpp: Added.
1847         (WebCore::EventLoop::cycle):
1848         * platform/haiku/FileChooserHaiku.cpp: Added.
1849         (WebCore::FileChooser::FileChooser):
1850         (WebCore::FileChooser::basenameForWidth):
1851         * platform/haiku/FileSystemHaiku.cpp: Added.
1852         (WebCore::fileSystemRepresentation):
1853         (WebCore::homeDirectoryPath):
1854         (WebCore::openTemporaryFile):
1855         (WebCore::closeFile):
1856         (WebCore::writeToFile):
1857         (WebCore::unloadModule):
1858         (WebCore::listDirectory):
1859         * platform/haiku/KeyboardCodes.h: Added.
1860         * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
1861         (WebCore::):
1862         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1863
1864 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
1865
1866         Reviewed by Oliver Hunt.
1867
1868         Added a second bunch of Haiku-specific files for WebCore.
1869         https://bugs.webkit.org/show_bug.cgi?id=26952
1870
1871         Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
1872         DragDataHaiku.cpp and DragImageHaiku.cpp
1873
1874         * platform/haiku/ContextMenuHaiku.cpp: Added.
1875         (WebCore::ContextMenuReceiver::ContextMenuReceiver):
1876         (WebCore::ContextMenuReceiver::HandleMessage):
1877         (WebCore::ContextMenuReceiver::Result):
1878         (WebCore::ContextMenu::ContextMenu):
1879         (WebCore::ContextMenu::~ContextMenu):
1880         (WebCore::ContextMenu::appendItem):
1881         (WebCore::ContextMenu::itemCount):
1882         (WebCore::ContextMenu::insertItem):
1883         (WebCore::ContextMenu::platformDescription):
1884         (WebCore::ContextMenu::setPlatformDescription):
1885         * platform/haiku/ContextMenuItemHaiku.cpp: Added.
1886         (ContextMenuItem::ContextMenuItem):
1887         (ContextMenuItem::~ContextMenuItem):
1888         (ContextMenuItem::releasePlatformDescription):
1889         (ContextMenuItem::type):
1890         (ContextMenuItem::setType):
1891         (ContextMenuItem::action):
1892         (ContextMenuItem::setAction):
1893         (ContextMenuItem::title):
1894         (ContextMenuItem::setTitle):
1895         (ContextMenuItem::platformSubMenu):
1896         (ContextMenuItem::setSubMenu):
1897         (ContextMenuItem::setChecked):
1898         (ContextMenuItem::setEnabled):
1899         (ContextMenuItem::enabled):
1900         * platform/haiku/DragDataHaiku.cpp: Added.
1901         (WebCore::DragData::canSmartReplace):
1902         (WebCore::DragData::containsColor):
1903         (WebCore::DragData::containsFiles):
1904         (WebCore::DragData::asFilenames):
1905         (WebCore::DragData::containsPlainText):
1906         (WebCore::DragData::asPlainText):
1907         (WebCore::DragData::asColor):
1908         (WebCore::DragData::createClipboard):
1909         (WebCore::DragData::containsCompatibleContent):
1910         (WebCore::DragData::containsURL):
1911         (WebCore::DragData::asURL):
1912         (WebCore::DragData::asFragment):
1913         * platform/haiku/DragImageHaiku.cpp: Added.
1914         (WebCore::dragImageSize):
1915         (WebCore::deleteDragImage):
1916         (WebCore::scaleDragImage):
1917         (WebCore::dissolveDragImageToFraction):
1918         (WebCore::createDragImageFromImage):
1919         (WebCore::createDragImageIconForCachedImage):
1920
1921 2009-07-16  Stephen White  <senorblanco@chromium.org>
1922
1923         Reviewed by Darin Fisher and Brett Wilson.
1924
1925         Refactor Skia implementation of gradients and patterns.
1926
1927         http://bugs.webkit.org/show_bug.cgi?id=26618
1928
1929         The following layout tests were breaking on Chromium/Linux:
1930
1931         LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
1932         LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
1933         LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
1934         LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
1935
1936         I could've fixed these the easy way, by copying the same 5
1937         lines of code we use everywhere we need patterns or gradients, but
1938         I decided to fix it the hard way:  by refactoring the code so that
1939         PlatformContextSkia::setupPaintForFilling() and
1940         PlatformContextSkia::setupPaintForStroking() do the right thing,
1941         and also handle gradients and patterns.
1942         
1943         This required pushing the gradients and patterns set in 
1944         (generic) GraphicsContext::setFillPattern() and friends down into
1945         PlatformContextSkia.  For this, I followed the setPlatformXXX()
1946         pattern used elsewhere in GraphicsContext, and stubbed them out on
1947         the other platforms with #if !PLATFORM(SKIA).  This also required
1948         pushing changes to the gradientSpaceTransform from the Gradient into 
1949         GradientSkia.
1950
1951         Since it's a Skia context, I decided to cache the values as
1952         SkShaders.  There were existing m_pattern and m_gradient SkShaders,
1953         but they were unused, and whose use was ambiguous, so I
1954         replaced them with one SkShader each for filling and stroking.
1955
1956         * platform/graphics/Gradient.cpp:
1957         (WebCore::Gradient::setGradientSpaceTransform):
1958         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1959         * platform/graphics/Gradient.h:
1960         * platform/graphics/GraphicsContext.cpp:
1961         (WebCore::GraphicsContext::setStrokePattern):
1962         (WebCore::GraphicsContext::setFillPattern):
1963         (WebCore::GraphicsContext::setStrokeGradient):
1964         (WebCore::GraphicsContext::setFillGradient):
1965         (WebCore::GraphicsContext::setPlatformFillGradient):
1966         (WebCore::GraphicsContext::setPlatformFillPattern):
1967         (WebCore::GraphicsContext::setPlatformStrokeGradient):
1968         (WebCore::GraphicsContext::setPlatformStrokePattern):
1969         * platform/graphics/GraphicsContext.h:
1970         * platform/graphics/skia/GradientSkia.cpp:
1971         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1972         * platform/graphics/skia/GraphicsContextSkia.cpp:
1973         (WebCore::GraphicsContext::fillPath):
1974         (WebCore::GraphicsContext::fillRect):
1975         (WebCore::GraphicsContext::setPlatformFillGradient):
1976         (WebCore::GraphicsContext::setPlatformFillPattern):
1977         (WebCore::GraphicsContext::setPlatformStrokeGradient):
1978         (WebCore::GraphicsContext::setPlatformStrokePattern):
1979         (WebCore::GraphicsContext::strokePath):
1980         (WebCore::GraphicsContext::strokeRect):
1981         * platform/graphics/skia/PlatformContextSkia.cpp:
1982         (PlatformContextSkia::State::State):
1983         (PlatformContextSkia::State::~State):
1984         (PlatformContextSkia::drawRect):
1985         (PlatformContextSkia::setupPaintCommon):
1986         (PlatformContextSkia::setupPaintForFilling):
1987         (PlatformContextSkia::setupPaintForStroking):
1988         (PlatformContextSkia::setFillColor):
1989         (PlatformContextSkia::setStrokeColor):
1990         (PlatformContextSkia::setStrokeShader):
1991         (PlatformContextSkia::setFillShader):
1992         * platform/graphics/skia/PlatformContextSkia.h:
1993         * platform/graphics/skia/SkiaFontWin.cpp:
1994         (WebCore::skiaDrawText):
1995         (WebCore::paintSkiaText):
1996         * svg/graphics/SVGPaintServer.cpp:
1997         (WebCore::SVGPaintServer::teardown):
1998
1999 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2000
2001         Reviewed by Oliver Hunt.
2002
2003         Added Haiku-specific files for WebCore/platform/image-decoders/.
2004         https://bugs.webkit.org/show_bug.cgi?id=26949
2005
2006         Adding a new file, ImageDecoderHaiku.cpp.
2007
2008         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
2009         (WebCore::RGBA32Buffer::RGBA32Buffer):
2010         (WebCore::RGBA32Buffer::clear):
2011         (WebCore::RGBA32Buffer::zeroFill):
2012         (WebCore::RGBA32Buffer::copyBitmapData):
2013         (WebCore::RGBA32Buffer::setSize):
2014         (WebCore::RGBA32Buffer::asNewNativeImage):
2015         (WebCore::RGBA32Buffer::hasAlpha):
2016         (WebCore::RGBA32Buffer::setHasAlpha):
2017         (WebCore::RGBA32Buffer::setStatus):
2018         (WebCore::RGBA32Buffer::operator=):
2019         (WebCore::RGBA32Buffer::width):
2020         (WebCore::RGBA32Buffer::height):
2021
2022 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2023
2024         Reviewed by Eric Seidel.
2025
2026         Added Haiku-specific files for WebCore/page/.
2027         https://bugs.webkit.org/show_bug.cgi?id=26949
2028
2029         Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
2030         and FrameHaiku.cpp
2031
2032         * page/haiku/DragControllerHaiku.cpp: Added.
2033         (WebCore::DragController::isCopyKeyDown):
2034         (WebCore::DragController::dragOperation):
2035         (WebCore::DragController::maxDragImageSize):
2036         (WebCore::DragController::cleanupAfterSystemDrag):
2037         * page/haiku/EventHandlerHaiku.cpp: Added.
2038         (WebCore::isKeyboardOptionTab):
2039         (WebCore::EventHandler::invertSenseOfTabsToLinks):
2040         (WebCore::EventHandler::tabsToAllControls):
2041         (WebCore::EventHandler::focusDocumentView):
2042         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2043         (WebCore::EventHandler::passMouseDownEventToWidget):
2044         (WebCore::EventHandler::eventActivatedView):
2045         (WebCore::EventHandler::passSubframeEventToSubframe):
2046         (WebCore::EventHandler::passWheelEventToWidget):
2047         (WebCore::EventHandler::createDraggingClipboard):
2048         (WebCore::EventHandler::passMousePressEventToSubframe):
2049         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2050         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2051         (WebCore::EventHandler::accessKeyModifiers):
2052         * page/haiku/FrameHaiku.cpp: Added.
2053         (WebCore::Frame::dragImageForSelection):
2054
2055 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2056
2057         Reviewed by Eric Seidel.
2058
2059         Added Haiku-specific files for WebCore/editing/.
2060         https://bugs.webkit.org/show_bug.cgi?id=26949
2061
2062         Adding one new file, EditorHaiku.cpp
2063
2064         * editing/haiku/EditorHaiku.cpp: Added.
2065         (WebCore::Editor::newGeneralClipboard):
2066
2067 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2068
2069         Reviewed by Eric Seidel.
2070
2071         Added Haiku-specific files for WebCore/bindings/js/.
2072         https://bugs.webkit.org/show_bug.cgi?id=26949
2073
2074         Adding a new file, ScriptControllerHaiku.cpp
2075
2076         * bindings/js/ScriptControllerHaiku.cpp: Added.
2077         (WebCore::ScriptController::createScriptInstanceForWidget):
2078
2079 2009-07-16  Maxime Simon  <simon.maxime@gmail.com>
2080
2081         Reviewed by Eric Seidel.
2082
2083         Added Haiku-specific files for WebCore/platform/text/.
2084         https://bugs.webkit.org/show_bug.cgi?id=26949
2085
2086         Adding two new files, StringHaiku.cpp
2087         and TextBreakIteratorInternalICUHaiku.cpp
2088
2089         * platform/text/haiku/StringHaiku.cpp: Added.
2090         (WebCore::String::String):
2091         (WebCore::String::operator BString):
2092         * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
2093         (WebCore::currentTextBreakLocaleID):
2094
2095 2009-07-16  Kent Tamura  <tkent@chromium.org>
2096
2097         Reviewed by Eric Seidel.
2098
2099         Sends the basename of a selected file for non-multipart form submission.
2100         <https://bugs.webkit.org/show_bug.cgi?id=26505>
2101
2102         Test: fast/forms/get-file-upload.html
2103
2104         * html/HTMLInputElement.cpp:
2105         (WebCore::HTMLInputElement::appendFormData):
2106
2107 2009-07-16  Adam Barth  <abarth@webkit.org>
2108
2109         Reviewed by David Levin.
2110
2111         [V8] Centralize hidden property names
2112         https://bugs.webkit.org/show_bug.cgi?id=27359
2113
2114         No behavior change.  Just moving these names to a central location.
2115         I'll move the rest of our hidden property names as I sweep though the
2116         bindings.
2117
2118         * WebCore.gypi:
2119         * bindings/v8/V8HiddenPropertyName.cpp: Added.
2120         (WebCore::V8HiddenPropertyName::objectPrototype):
2121         (WebCore::V8HiddenPropertyName::isolatedWorld):
2122         * bindings/v8/V8HiddenPropertyName.h: Added.
2123         * bindings/v8/V8IsolatedWorld.cpp:
2124         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
2125         (WebCore::V8IsolatedWorld::getEntered):
2126         * bindings/v8/V8Proxy.cpp:
2127         (WebCore::V8Proxy::getHiddenObjectPrototype):
2128         (WebCore::V8Proxy::installHiddenObjectPrototype):
2129
2130 2009-07-16  Dan Bernstein  <mitz@apple.com>
2131
2132         Reviewed by Simon Fraser.
2133
2134         REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
2135         https://bugs.webkit.org/show_bug.cgi?id=26747
2136         rdar://problem/7009243
2137
2138         Test: fast/repaint/background-misaligned.html
2139
2140         * platform/graphics/Image.cpp:
2141         (WebCore::Image::drawTiled): Moved a variable definition closer to where
2142         it is used.
2143         * platform/graphics/cg/ImageCG.cpp:
2144         (WebCore::BitmapImage::draw): In the subimage code path, compute a
2145         pixel-aligned source rect, because the subiamge is always pixel-aligned
2146         in source space, and adjust the destination rect to preserve the
2147         source -> destination mapping. Clip to the (original) destination rect
2148         to prevent bleeding out.
2149
2150 2009-07-16  Jeremy Orlow  <jorlow@chromium.org>
2151
2152         Reviewed by Adam Barth.
2153
2154         Add a sessionStorageEnabled setting to the settings class.
2155         https://bugs.webkit.org/show_bug.cgi?id=27318
2156
2157         Allow LocalStorage to be enabled without enabling SessionStorage at
2158         runtime.  There is a settings class setting for localStorage, but not
2159         for sessionStorage.  We want to be able to test one of these features
2160         without necessarily enabling the other.
2161
2162         SessionStorage defaults to true so as to not change behavior and
2163         because there really aren't any security concerns around SessionStorage
2164         (unlike LocalsStorage).  The flag is needed in Chromium only because
2165         we want to enable the compile time flag in the default build, but don't
2166         want it on by default until it's been thoroughly tested.
2167
2168         * page/DOMWindow.cpp:
2169         (WebCore::DOMWindow::sessionStorage):  Check the new flag
2170         (WebCore::DOMWindow::localStorage):  A bit of cleanup
2171         * page/Settings.cpp:
2172         (WebCore::Settings::Settings):  Default the flag to true
2173         (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
2174         * page/Settings.h:
2175         (WebCore::Settings::sessionStorageEnabled):  Get the new flag
2176
2177 2009-07-16  Adam Barth  <abarth@webkit.org>
2178
2179         Unreviewed.
2180
2181         Revert 45987.  Tests did not pass on Windows.
2182
2183         * html/HTMLInputElement.cpp:
2184         (WebCore::HTMLInputElement::appendFormData):
2185
2186 2009-07-16  Drew Wilson  <atwilson@google.com>
2187
2188         Reviewed by David Levin.
2189
2190         Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
2191         Added missing V8 bindings to the AllInOne file
2192
2193         https://bugs.webkit.org/show_bug.cgi?id=27321
2194
2195         * WebCore.vcproj/WebCore.vcproj:
2196         Added missing files to build.
2197         * bindings/v8/DerivedSourcesAllInOne.cpp:
2198         Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
2199         * DerivedSources.cpp
2200         Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
2201
2202 2009-07-16  John Abd-El-Malek  <jam@chromium.org>
2203
2204         Reviewed by David Levin.
2205
2206         Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
2207
2208         https://bugs.webkit.org/show_bug.cgi?id=27337
2209
2210         * dom/MessagePortChannel.h:
2211         (WebCore::MessagePortChannel::channel):
2212
2213 2009-07-16  Xiaomei Ji  <xji@chromium.org>
2214
2215         Reviewed by Darin Adler.
2216
2217         Fix tooltip does not get its directionality from its element's directionality.
2218         https://bugs.webkit.org/show_bug.cgi?id=24187
2219
2220         Per mitz's suggestion in comment #6, while getting the plain-text 
2221         title, we also get the directionality of the title. How to handle 
2222         the directionality is up to clients. Clients could ignore it, 
2223         or use attribute or unicode control characters to display the title
2224         as what they want.
2225
2226         WARNING: NO TEST CASES ADDED OR CHANGED
2227
2228         * WebCore.base.exp: Replace 2 names due to signature change.
2229         * loader/EmptyClients.h: 
2230         (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
2231         * page/Chrome.cpp:
2232         (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
2233         * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
2234         * page/chromium/ChromeClientChromium.h:
2235         (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
2236         temprarily to make chromium compile after pick up this webkit patch.
2237         * rendering/HitTestResult.cpp:
2238         (WebCore::HitTestResult::spellingToolTip): Besides getting the 
2239         spelling tooltip, get its directionality as well.
2240         (WebCore::HitTestResult::title): Besides getting the title, 
2241         get its directionality as well.
2242         * rendering/HitTestResult.h: Add 2 more methods.
2243
2244 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
2245
2246         Reviewed by Oliver Hunt.
2247
2248         [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
2249         https://bugs.webkit.org/show_bug.cgi?id=20578
2250
2251         Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
2252
2253         Test: fast/canvas/canvas-pattern-modify.html
2254
2255         * platform/graphics/cairo/ImageBufferCairo.cpp:
2256         (copySurface):
2257         (WebCore::ImageBuffer::image):
2258
2259 2009-07-16  David Hyatt  <hyatt@apple.com>
2260
2261         Reviewed by Beth Dakin.
2262
2263         https://bugs.webkit.org/show_bug.cgi?id=27353
2264         Images mispositioned because of bug in percentage-based relative positioning.
2265
2266         Added fast/css/nested-floating-relative-position-percentages.html
2267
2268         * rendering/RenderBoxModelObject.cpp:
2269         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
2270
2271 2009-07-16  Kent Tamura  <tkent@chromium.org>
2272
2273         Reviewed by Eric Seidel.
2274
2275         Sends the basename of a selected file for non-multipart form submission.
2276         <https://bugs.webkit.org/show_bug.cgi?id=26505>
2277
2278         Test: fast/forms/get-file-upload.html
2279
2280         * html/HTMLInputElement.cpp:
2281         (WebCore::HTMLInputElement::appendFormData):
2282
2283 2009-07-16  Simon Fraser  <simon.fraser@apple.com>
2284
2285         Reviewed by Darin Adler.
2286
2287         Video size sometimes jumps just after the video starts loading
2288         https://bugs.webkit.org/show_bug.cgi?id=27352
2289
2290         Ensure that the media player is at or after the 'HaveMetadata' state so that
2291         the instrinsic size is known before we create the layer for video. This avoids
2292         a flash caused by computing the video rect using the default intrinsic size, and then
2293         re-computing it when that size changes.
2294         
2295         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2296         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2297         (WebCore::MediaPlayerPrivate::isReadyForRendering):
2298         (WebCore::MediaPlayerPrivate::updateStates):
2299         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
2300
2301 2009-07-16  Brady Eidson  <beidson@apple.com>
2302
2303         Reviewed by Antti Koivisto.
2304         Patch by Brady Eidson and Alexey Proskuryakov.
2305
2306         https://bugs.webkit.org/show_bug.cgi?id=26496
2307         <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
2308
2309         After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
2310         from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
2311
2312         * loader/loader.cpp:
2313         (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
2314
2315 2009-07-16  Adam Barth  <abarth@webkit.org>
2316
2317         Reviewed by Dimitri Glazkov.
2318
2319         [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
2320         https://bugs.webkit.org/show_bug.cgi?id=27335
2321
2322         evaluateInNewContext makes this delegate call.  evaluateInNewWorld
2323         needs to make the same call.  This does not appear to be testable with
2324         our current technology.
2325
2326         * bindings/v8/V8IsolatedWorld.cpp:
2327         (WebCore::V8IsolatedWorld::evaluate):
2328
2329 2009-07-15  Jakub Wieczorek  <faw217@gmail.com>
2330
2331         Reviewed by Simon Hausmann.
2332
2333         Fix a typo: application/atom=xml -> application/atom+xml.
2334
2335         * dom/ProcessingInstruction.cpp:
2336         (WebCore::ProcessingInstruction::checkStyleSheet):
2337
2338 2009-07-16  Dean McNamee  <deanm@chromium.org>
2339
2340         Reviewed by Oliver Hunt.
2341
2342         https://bugs.webkit.org/show_bug.cgi?id=27292
2343         Improve handling of <canvas> path operations on an empty path.
2344         Implement Skia's Path::hasCurrentPoint().
2345
2346         * html/CanvasRenderingContext2D.cpp:
2347         (WebCore::CanvasRenderingContext2D::lineTo):
2348         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
2349         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
2350         * platform/graphics/skia/PathSkia.cpp:
2351         (WebCore::Path::hasCurrentPoint):
2352
2353 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
2354
2355         Reviewed by Eric Seidel.
2356
2357         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
2358         https://bugs.webkit.org/show_bug.cgi?id=26254
2359
2360         Make it so that setting white-space and word-wrap via CSS
2361         overrides the wrap attribute.
2362
2363         This involves having the shadow div in the textarea inherit
2364         the CSS from its parent instead of hard-coding it in
2365         RenderTextControlMultiline.
2366         
2367         Committer note: Earlier I reverted this change because I did it incorrectly
2368         by leaving out css/html.css. In the patch, the filename was the old name
2369         css/html4.css and that led to my error.
2370
2371         * css/html.css:
2372         * html/HTMLTextAreaElement.cpp:
2373         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2374         * rendering/RenderTextControlMultiLine.cpp:
2375         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2376
2377 2009-07-15  James Hawkins  <jhawkins@google.com>
2378
2379         Reviewed by Adam Barth.
2380
2381         [V8] Remove a local variable that is shadowing a function parameter.
2382         https://bugs.webkit.org/show_bug.cgi?id=27309
2383
2384         No test required as this modification does not change the current behavior.
2385
2386         * bindings/v8/V8DOMWrapper.cpp:
2387         (WebCore::V8DOMWrapper::instantiateV8Object):
2388
2389 2009-07-15  Adam Langley  <agl@google.com>
2390
2391         No review: reverting previous change.
2392
2393         Revert r45959:
2394
2395         2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
2396         Reviewed by Dimitri Glazkov.
2397
2398         Adding the Win SQLite VFS implementation for Chromium.
2399
2400         https://bugs.webkit.org/show_bug.cgi?id=26940
2401
2402
2403         The Chromium side of this patch was landed in 20839, but broke the build. It
2404         was reverted in r20840. Thus, I'm reverting this side of the patch too.
2405
2406         * WebCore.gypi:
2407         * platform/chromium/ChromiumBridge.h:
2408         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
2409         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
2410
2411 2009-07-15  David Levin  <levin@chromium.org>
2412
2413         Layout test fix, reverting previous change.
2414
2415         Reverting r45962 as it caused several layout test failures.
2416
2417         * html/HTMLTextAreaElement.cpp:
2418         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2419         * rendering/RenderTextControlMultiLine.cpp:
2420         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2421
2422 2009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
2423
2424         Reviewed by Eric Seidel.
2425
2426         Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
2427         https://bugs.webkit.org/show_bug.cgi?id=26254
2428
2429         Make it so that setting white-space and word-wrap via CSS
2430         overrides the wrap attribute.
2431
2432         This involves having the shadow div in the textarea inherit
2433         the CSS from its parent instead of hard-coding it in
2434         RenderTextControlMultiline.
2435
2436         * css/html4.css:
2437         * html/HTMLTextAreaElement.cpp:
2438         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2439         * rendering/RenderTextControlMultiLine.cpp:
2440         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2441
2442 2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
2443
2444         Reviewed by Dimitri Glazkov.
2445
2446         Adding the Win SQLite VFS implementation for Chromium.
2447
2448         https://bugs.webkit.org/show_bug.cgi?id=26940
2449
2450         * platform/chromium/ChromiumBridge.h:
2451         * platform/sql/chromium: Added.
2452         * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
2453         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
2454
2455 2009-07-15  Jian Li  <jianli@chromium.org>
2456
2457         Reviewed by David Levin.
2458
2459         Bug 25151 - workers that fail to load scripts not firing error event.
2460         https://bugs.webkit.org/show_bug.cgi?id=25151
2461
2462         This fixes the problem that an error event is not fired when the worker
2463         script fails to load. Some reasons this may occur are an invalid URL for
2464         the worker script or a cross-origin redirect.
2465
2466         We also moves the code to complete the URL and check its origin from
2467         Worker constructor to WorkerScriptLoader loading functions in order to
2468         move the exception throwing logic out of the scope of Worker constructor.
2469         Due to this change, we also remove the output ExceptionCode parameter
2470         in the worker constructor. Corresponding JS/V8 binding codes have been
2471         updated to reflect this change.
2472
2473         * bindings/js/JSWorkerConstructor.cpp:
2474         (WebCore::constructWorker):
2475         * bindings/v8/custom/V8WorkerCustom.cpp:
2476         (WebCore::CALLBACK_FUNC_DECL):
2477         * workers/Worker.cpp:
2478         (WebCore::Worker::Worker):
2479         (WebCore::Worker::notifyFinished):
2480         * workers/Worker.h:
2481         (WebCore::Worker::create):
2482         * workers/WorkerContext.cpp:
2483         (WebCore::WorkerContext::importScripts):
2484         * workers/WorkerScriptLoader.cpp:
2485         (WebCore::toCrossOriginRedirectPolicy):
2486         (WebCore::WorkerScriptLoader::loadSynchronously):
2487         (WebCore::WorkerScriptLoader::loadAsynchronously):
2488         (WebCore::notifyLoadErrorTask):
2489         (WebCore::WorkerScriptLoader::createResourceRequest):
2490         (WebCore::WorkerScriptLoader::didFail):
2491         (WebCore::WorkerScriptLoader::didFailRedirectCheck):
2492         (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
2493         (WebCore::WorkerScriptLoader::notifyError):
2494         * workers/WorkerScriptLoader.h:
2495         (WebCore::):
2496         (WebCore::WorkerScriptLoader::url):
2497
2498 2009-07-15  Dan Bernstein  <mitz@apple.com>
2499
2500         Reviewed by Dave Hyatt.
2501
2502         text-shadow is not drawn for text with transparent colour
2503         https://bugs.webkit.org/show_bug.cgi?id=21374
2504
2505         Test: fast/text/shadow-translucent-fill.html
2506
2507         * rendering/InlineTextBox.cpp:
2508         (WebCore::paintTextWithShadows): If the text fill color is not opaque,
2509         paint all shadows separately from the text, by casting them from
2510         clipped-out opaque text.
2511
2512 2009-07-15  Adam Treat  <adam.treat@torchmobile.com>
2513
2514         Fix the Qt build.
2515
2516         * html/HTMLAreaElement.cpp:
2517
2518 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
2519
2520         Reviewed by Darin Fisher.
2521
2522         Cleanup DOM Storage dependencies.
2523         https://bugs.webkit.org/show_bug.cgi?id=27180
2524
2525         DOM Storage had several unnecessary (and probably unintended)
2526         dependencies.  This patch replaces many includes of header files with
2527         forward declaration of classes, making some destructors explicit, and
2528         taking some factories out of the header files.
2529
2530         This will allow things like StorageAreaSync to take a StorageAreaImpl*
2531         (as it should) rather than a StorageArea* which previously weren't
2532         possible because the dependencies were such a tangled mess.
2533
2534         * storage/LocalStorageTask.cpp:
2535         (WebCore::LocalStorageTask::~LocalStorageTask):
2536         * storage/LocalStorageTask.h:
2537         * storage/Storage.cpp:
2538         (WebCore::Storage::~Storage):
2539         * storage/Storage.h:
2540         * storage/StorageArea.cpp:
2541         * storage/StorageArea.h:
2542         * storage/StorageAreaImpl.cpp:
2543         * storage/StorageAreaImpl.h:
2544         * storage/StorageAreaSync.cpp:
2545         (WebCore::StorageAreaSync::~StorageAreaSync):
2546         * storage/StorageAreaSync.h:
2547         * storage/StorageEvent.cpp:
2548         (WebCore::StorageEvent::create):
2549         (WebCore::StorageEvent::StorageEvent):
2550         * storage/StorageEvent.h:
2551         * storage/StorageNamespace.h:
2552         * storage/StorageNamespaceImpl.cpp:
2553         * storage/StorageNamespaceImpl.h:
2554         * storage/StorageSyncManager.cpp:
2555         (WebCore::StorageSyncManager::~StorageSyncManager):
2556         * storage/StorageSyncManager.h:
2557
2558 2009-07-15  Chris Marrin  <cmarrin@apple.com>
2559
2560         Reviewed by Simon Fraser.
2561
2562         Incorrect animation when trying to duplicate effect of transform-origin
2563         https://bugs.webkit.org/show_bug.cgi?id=27310
2564
2565         The bug is that matrix animation is being used when animating
2566         a list of transform functions that match in the from and to states.
2567         This sometimes works. But because of the way CA does matrix animation
2568         function lists like the one shown in the testcase animate incorrectly.
2569
2570         This fixes the bug by always doing component animation
2571         as long as the function lists match. This allows CA
2572         to animate the components and then recompose the result
2573         into the correct matrix.
2574
2575         Test: animations/transform-origin-vs-functions.html
2576
2577         * platform/graphics/mac/GraphicsLayerCA.mm:
2578         (WebCore::GraphicsLayerCA::animateTransform):
2579
2580 2009-07-15  Albert J. Wong  <ajwong@chromium.org>
2581
2582         Reviewed by David Levin.
2583
2584         Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
2585
2586         Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
2587         downstream
2588         https://bugs.webkit.org/show_bug.cgi?id=27274
2589
2590         Changes the build file for chromium.  Test built the chromium tree
2591         to verify.
2592
2593         * WebCore.gypi:
2594
2595 2009-07-15  Mark Rowe  <mrowe@apple.com>
2596
2597         I like it when the code compiles.
2598
2599         * WebCore.base.exp:
2600
2601 2009-07-15  Darin Adler  <darin@apple.com>
2602
2603         Reviewed by Sam Weinig.
2604
2605         Renamed parseURL to deprecatedParseURL.
2606
2607         * bindings/js/JSAttrCustom.cpp:
2608         (WebCore::JSAttr::setValue): Renamed.
2609         * bindings/js/JSElementCustom.cpp:
2610         (WebCore::allowSettingSrcToJavascriptURL): Renamed.
2611         * bindings/js/JSHTMLFrameElementCustom.cpp:
2612         (WebCore::allowSettingJavascriptURL): Renamed.
2613         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2614         (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
2615         * bindings/objc/DOM.mm:
2616         (-[DOMElement _getURLAttribute:]): Renamed.
2617         * bindings/objc/DOMHTML.mm:
2618         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
2619         * bindings/v8/custom/V8CustomBinding.cpp:
2620         (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
2621         * css/CSSHelper.cpp:
2622         (WebCore::deprecatedParseURL): Renamed.
2623         * css/CSSHelper.h: Renamed and updated comment.
2624         * html/HTMLAnchorElement.cpp:
2625         (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
2626         (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
2627         * html/HTMLBaseElement.cpp:
2628         (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
2629         * html/HTMLBodyElement.cpp:
2630         (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
2631         * html/HTMLEmbedElement.cpp:
2632         (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
2633         * html/HTMLFormElement.cpp:
2634         (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
2635         * html/HTMLFrameElementBase.cpp:
2636         (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
2637         * html/HTMLImageElement.cpp:
2638         (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
2639         * html/HTMLImageLoader.cpp:
2640         (WebCore::HTMLImageLoader::sourceURI): Renamed.
2641         * html/HTMLLinkElement.cpp:
2642         (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
2643         * html/HTMLObjectElement.cpp:
2644         (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
2645         * html/HTMLTableElement.cpp:
2646         (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
2647         * html/HTMLTablePartElement.cpp:
2648         (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
2649         * html/HTMLTokenizer.cpp:
2650         (WebCore::HTMLTokenizer::parseTag): Renamed.
2651         * html/PreloadScanner.cpp:
2652         (WebCore::PreloadScanner::processAttribute): Renamed.
2653         (WebCore::PreloadScanner::emitCSSRule): Renamed.
2654         * platform/chromium/ClipboardChromium.cpp:
2655         (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
2656         * platform/chromium/PasteboardChromium.cpp:
2657         (WebCore::Pasteboard::writeImage): Renamed.
2658         * platform/qt/ClipboardQt.cpp:
2659         (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
2660         * platform/win/ClipboardWin.cpp:
2661         (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
2662         * rendering/HitTestResult.cpp:
2663         (WebCore::HitTestResult::absoluteImageURL): Renamed.
2664         (WebCore::HitTestResult::absoluteMediaURL): Renamed.
2665         (WebCore::HitTestResult::absoluteLinkURL): Renamed.
2666         * svg/SVGAElement.cpp:
2667         (WebCore::SVGAElement::defaultEventHandler): Renamed.
2668         * svg/SVGImageLoader.cpp:
2669         (WebCore::SVGImageLoader::sourceURI): Renamed.
2670         * wml/WMLAElement.cpp:
2671         (WebCore::WMLAElement::defaultEventHandler): Renamed.
2672         * wml/WMLImageLoader.cpp:
2673         (WebCore::WMLImageLoader::sourceURI): Renamed.
2674
2675 2009-07-15  Darin Adler  <darin@apple.com>
2676
2677         Reviewed by Dan Bernstein.
2678
2679         CSSHelper.h's parseURL is a function that no one should ever call
2680         Part 1: Eliminate callers in the CSS parser.
2681         https://bugs.webkit.org/show_bug.cgi?id=26599
2682
2683         Test: fast/css/uri-token-parsing.html
2684
2685         * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
2686         function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
2687
2688         * css/CSSParser.cpp:
2689         (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
2690         CSSParser::text already takes care of parsing the URI token syntax, and the
2691         parseURL function does no good.
2692         (WebCore::CSSParser::parseContent): Ditto.
2693         (WebCore::CSSParser::parseFillImage): Ditto.
2694         (WebCore::CSSParser::parseFontFaceSrc): Ditto.
2695         (WebCore::CSSParser::parseBorderImage): Ditto.
2696         (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
2697         easier to read.
2698         (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
2699         are both trimmed before removing the quote marks. Changed to use the
2700         isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
2701
2702         * css/CSSParser.h: Removed stray "public:" in this header.
2703
2704         * platform/text/StringImpl.cpp:
2705         (WebCore::StringImpl::substring): Optimized the case where the substring covers
2706         the entire string, so we just share the StringImpl instead of making a new one.
2707         This case came up in earlier versions of the CSS parser changes above.
2708         (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
2709         not call substring any more. Before, this was relying on the substring function
2710         always making a copy of any non-empty substring.
2711
2712 2009-07-15  Darin Adler  <darin@apple.com>
2713
2714         Reviewed by John Sullivan.
2715
2716         After double-clicking a word, using Shift-arrow to select behaves unpredictably
2717         https://bugs.webkit.org/show_bug.cgi?id=27177
2718         rdar://problem/7034324
2719
2720         Test: editing/selection/extend-selection-after-double-click.html
2721
2722         The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
2723         being cleared in many cases where it should have been.
2724
2725         * editing/SelectionController.cpp:
2726         (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
2727         to false. This catches all sorts of cases that don't flow through the modify function.
2728         Before, the flag would reflect the last call to the modify function, which was not
2729         necessarily the last selection change.
2730         (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
2731         Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
2732         (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
2733         setSelection when setting up a trial selection controller, since setSelection now
2734         clears that flag. Also changed both trial selection controller cases to set the flag,
2735         although it's not strictly necessary in both cases. Added code to set
2736         m_lastChangeWasHorizontalExtension when extending the selection, which used to be
2737         handled in willBeModified. Now we need to do it after the selection change.
2738
2739 2009-07-15  Jeremy Orlow  <jorlow@chromium.org>
2740
2741         Reviewed by Dimitri Glazkov.
2742
2743         Need to update DOM Storage files in GYPI file.
2744         https://bugs.webkit.org/show_bug.cgi?id=27317
2745
2746         Need to update DOM Storage files in the GYPI file.  They're pretty out
2747         of date and we're on the path towards enabling them for everyone!
2748
2749         * WebCore.gypi:
2750
2751 2009-07-15  Kwang Yul Seo  <skyul@company100.net>
2752
2753         Reviewed by Eric Seidel.
2754
2755         https://bugs.webkit.org/show_bug.cgi?id=26794
2756         Make Yacc-generated parsers to use fastMalloc/fastFree.
2757         
2758         Define YYMALLOC and YYFREE to fastMalloc and fastFree
2759         respectively.
2760
2761         * css/CSSGrammar.y:
2762         * xml/XPathGrammar.y:
2763
2764 2009-07-15  David Hyatt  <hyatt@apple.com>
2765
2766         Reviewed by Adam Roben.
2767
2768         https://bugs.webkit.org/show_bug.cgi?id=27193
2769         Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
2770         is effectively broken as a result.
2771
2772         No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
2773
2774         * rendering/RenderBlock.cpp:
2775         (WebCore::RenderBlock::handleRunInChild):
2776
2777 2009-07-15  Yuzo Fujishima  <yuzo@google.com>
2778
2779         Reviewed by Darin Adler.
2780
2781         Test: fast/js/instanceof-operator.html
2782
2783         Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
2784         https://bugs.webkit.org/show_bug.cgi?id=25205
2785
2786         In addition to for XMLHttpRequest, this also fixes for:
2787         - Audio
2788         - Image
2789         - MessageChannel
2790         - Option
2791         - WebKitCSSMatrix
2792         - WebKitPoint
2793         - Worker
2794         - XSLTProcessor
2795
2796         * bindings/js/JSAudioConstructor.cpp:
2797         (WebCore::JSAudioConstructor::JSAudioConstructor):
2798         * bindings/js/JSAudioConstructor.h:
2799         * bindings/js/JSDOMBinding.h:
2800         (WebCore::DOMConstructorObject::createStructure):
2801         (WebCore::DOMConstructorObject::DOMConstructorObject):
2802         * bindings/js/JSImageConstructor.cpp:
2803         (WebCore::JSImageConstructor::JSImageConstructor):
2804         * bindings/js/JSImageConstructor.h:
2805         * bindings/js/JSMessageChannelConstructor.cpp:
2806         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
2807         * bindings/js/JSMessageChannelConstructor.h:
2808         * bindings/js/JSOptionConstructor.cpp:
2809         (WebCore::JSOptionConstructor::JSOptionConstructor):
2810         * bindings/js/JSOptionConstructor.h:
2811         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2812         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
2813         * bindings/js/JSWebKitCSSMatrixConstructor.h:
2814         * bindings/js/JSWebKitPointConstructor.cpp:
2815         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
2816         * bindings/js/JSWebKitPointConstructor.h:
2817         * bindings/js/JSWorkerConstructor.cpp:
2818         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
2819         * bindings/js/JSWorkerConstructor.h:
2820         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2821         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2822         * bindings/js/JSXMLHttpRequestConstructor.h:
2823         * bindings/js/JSXSLTProcessorConstructor.cpp:
2824         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2825         * bindings/js/JSXSLTProcessorConstructor.h:
2826
2827 2009-07-15  Kai Br�ning  <kai@granus.net>
2828
2829         Reviewed by Dave Hyatt.
2830
2831         CSS21 attribute selectors not dynamic for xml.
2832         https://bugs.webkit.org/show_bug.cgi?id=25072
2833
2834         Moved the relevant test in StyledElement::attributeChanged()
2835         to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
2836         so it can be called from both StyledElement::attributeChanged()
2837         and Element::attributeChanged().
2838         Refactored Element::attributeChanged() into
2839         Element::updateAfterAttributeChanged() and
2840         Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
2841         separately from StyledElement::attributeChanged().
2842
2843         Test: fast/css/attribute-selector-dynamic.xml
2844
2845         * dom/Element.cpp:
2846         (WebCore::Element::attributeChanged):
2847         (WebCore::Element::updateAfterAttributeChanged):
2848         (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
2849         * dom/Element.h:
2850         * dom/StyledElement.cpp:
2851         (WebCore::StyledElement::attributeChanged):
2852
2853 2009-07-15  Alpha Lam  <hclam@chromium.org>
2854
2855         Reviewed by David Levin.
2856
2857         [V8] Layout test failures for drawImage in Canvas
2858         https://bugs.webkit.org/show_bug.cgi?id=27311
2859
2860         Fixing several canvas layout tests failures due to a
2861         missing return statement in CanvasRenderingContext2DDrawImage() which
2862         was accidentally removed in r45929.
2863
2864         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2865
2866 2009-07-15  Robert Hogan  <robert@roberthogan.net>
2867
2868         Reviewed by Eric Seidel.
2869
2870         https://bugs.webkit.org/show_bug.cgi?id=26969
2871
2872         If the httpMethod() of the request passed to SubresourceLoader::create is not
2873         supported by the client we must expect to call didFail() while m_loader is still null.
2874
2875         * loader/DocumentThreadableLoader.cpp:
2876         (DocumentThreadableLoader::didFail):Changed.
2877
2878 2009-07-15  Mark Rowe  <mrowe@apple.com>
2879
2880         Fix the Mac build.
2881
2882         * WebCore.base.exp:
2883         * css/MediaQueryEvaluator.cpp:
2884         * rendering/SVGRenderTreeAsText.cpp:
2885         * rendering/style/SVGRenderStyle.cpp:
2886         * svg/graphics/SVGPaintServer.cpp:
2887
2888 2009-07-07  Alpha Lam  <hclam@chromium.org>
2889
2890         Reviewed by Dimitri Glazkov.
2891
2892         [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
2893         https://bugs.webkit.org/show_bug.cgi?id=27170
2894
2895         Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
2896         as a parameter of drawImage() for HTMLCanvasElement.
2897
2898         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2899
2900 2009-07-15  Adam Barth  <abarth@webkit.org>
2901
2902         Reviewed by Dimitri Glazkov.
2903
2904         [V8] Fix isolated world constructors
2905         https://bugs.webkit.org/show_bug.cgi?id=27287
2906
2907         Don't enter V8Proxy::m_context before creating DOM constructors.
2908         Instead, use getWrapperContext to get the right context.
2909
2910         After this patch, all my tests pass.  I'll enable the feature
2911         downstream and land the tests.
2912
2913         * bindings/scripts/CodeGeneratorV8.pm:
2914         * bindings/v8/V8DOMWrapper.cpp:
2915         (WebCore::V8DOMWrapper::getConstructor):
2916         (WebCore::V8DOMWrapper::lookupDOMWrapper):
2917         * bindings/v8/V8DOMWrapper.h:
2918         * bindings/v8/V8IsolatedWorld.cpp:
2919         (WebCore::V8IsolatedWorld::evaluate):
2920         * bindings/v8/V8Proxy.cpp:
2921         (WebCore::V8Proxy::createWrapperFromCache):
2922         (WebCore::V8Proxy::isContextInitialized):
2923         (WebCore::V8Proxy::disposeContextHandles):
2924         (WebCore::V8Proxy::installDOMWindow):
2925         (WebCore::V8Proxy::initContextIfNeeded):
2926         (WebCore::V8Proxy::getHiddenObjectPrototype):
2927         (WebCore::V8Proxy::installHiddenObjectPrototype):
2928         * bindings/v8/V8Proxy.h:
2929
2930 2009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
2931
2932         Reviewed by Darin Adler.
2933
2934         useless null-check statement in visible_units.cpp@logicalStartOfLine
2935         https://bugs.webkit.org/show_bug.cgi?id=27154
2936
2937         Simple fix.
2938
2939         * editing/visible_units.cpp:
2940         (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
2941
2942 2009-07-15  Brady Eidson  <beidson@apple.com>
2943
2944         Reviewed by Dan Bernstein.
2945
2946         https://bugs.webkit.org/show_bug.cgi?id=27304
2947         WebKit should provide usage and eligibility information about the page cache.
2948
2949         * WebCore.base.exp:
2950
2951         * history/CachedFrame.cpp:
2952         (WebCore::CachedFrame::childFrameCount):
2953         * history/CachedFrame.h:
2954
2955         * history/PageCache.cpp:
2956         (WebCore::PageCache::frameCount):
2957         (WebCore::PageCache::autoreleasedPageCount):
2958         * history/PageCache.h:
2959         (WebCore::PageCache::pageCount):
2960
2961 2009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
2962
2963         Reviewed by David Levin.
2964
2965         Chromium's canvas forgets its context after fillText again
2966         https://bugs.webkit.org/show_bug.cgi?id=27293
2967
2968         No new tests because the test for this was already added in
2969         https://bugs.webkit.org/show_bug.cgi?id=26436
2970
2971         * platform/graphics/chromium/TransparencyWin.cpp:
2972         (WebCore::TransparencyWin::compositeTextComposite):
2973
2974 2009-07-14  David Hyatt  <hyatt@apple.com>
2975
2976         Reviewed by Simon Fraser.
2977
2978         https://bugs.webkit.org/show_bug.cgi?id=27283
2979
2980         Implement the new 'rem' unit from CSS3.
2981
2982         Added some rem-* tests in fast/css.
2983
2984         * css/CSSGrammar.y:
2985         * css/CSSParser.cpp:
2986         (WebCore::CSSParser::validUnit):
2987         (WebCore::unitFromString):
2988         (WebCore::CSSParser::parseValue):
2989         (WebCore::CSSParser::lex):
2990         * css/CSSParserValues.cpp:
2991         (WebCore::CSSParserValue::createCSSValue):
2992         * css/CSSPrimitiveValue.cpp:
2993         (WebCore::CSSPrimitiveValue::computeLengthInt):
2994         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
2995         (WebCore::CSSPrimitiveValue::computeLengthShort):
2996         (WebCore::CSSPrimitiveValue::computeLengthFloat):
2997         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2998         (WebCore::CSSPrimitiveValue::cssText):
2999         (WebCore::CSSPrimitiveValue::parserValue):
3000         * css/CSSPrimitiveValue.h:
3001         (WebCore::CSSPrimitiveValue::):
3002         (WebCore::CSSPrimitiveValue::isUnitTypeLength):
3003         * css/CSSStyleSelector.cpp:
3004         (WebCore::CSSStyleSelector::initForStyleResolve):
3005         (WebCore::convertToLength):
3006         (WebCore::CSSStyleSelector::applyProperty):
3007         (WebCore::CSSStyleSelector::mapFillSize):
3008         (WebCore::CSSStyleSelector::mapFillXPosition):
3009         (WebCore::CSSStyleSelector::mapFillYPosition):
3010         (WebCore::CSSStyleSelector::createTransformOperations):
3011         * css/CSSStyleSelector.h:
3012         * css/MediaQueryEvaluator.cpp:
3013         (WebCore::device_heightMediaFeatureEval):
3014         (WebCore::device_widthMediaFeatureEval):
3015         (WebCore::heightMediaFeatureEval):
3016         (WebCore::widthMediaFeatureEval):
3017         * css/WebKitCSSMatrix.cpp:
3018         (WebCore::WebKitCSSMatrix::setMatrixValue):
3019         * css/tokenizer.flex:
3020         * dom/Document.cpp:
3021         (WebCore::Document::Document):
3022         * dom/Document.h:
3023         (WebCore::Document::usesRemUnits):
3024         (WebCore::Document::setUsesRemUnits):
3025         * dom/Element.cpp:
3026         (WebCore::Element::recalcStyle):
3027         * rendering/SVGRenderTreeAsText.cpp:
3028         (WebCore::writeStyle):
3029         * rendering/style/SVGRenderStyle.cpp:
3030         (WebCore::SVGRenderStyle::cssPrimitiveToLength):
3031         * svg/graphics/SVGPaintServer.cpp:
3032         (WebCore::applyStrokeStyleToContext):
3033         (WebCore::dashArrayFromRenderingStyle):
3034         * svg/graphics/SVGPaintServer.h:
3035
3036 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
3037
3038         Unreviewed, build fix.
3039
3040         Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
3041
3042         * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
3043
3044 2009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
3045
3046         Reviewed by Darin Fisher.
3047
3048         [V8] Update bindings for ValiditeState patch.
3049         https://bugs.webkit.org/show_bug.cgi?id=19562
3050
3051         * bindings/v8/DOMObjectsInclude.h:
3052         * bindings/v8/DerivedSourcesAllInOne.cpp:
3053         * bindings/v8/V8Index.cpp:
3054         * bindings/v8/V8Index.h:
3055
3056 2009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3057
3058         Reviewed by Simon Hausmann.
3059
3060         [Qt] Cleanup - Remove obsolete code from the make system
3061         https://bugs.webkit.org/show_bug.cgi?id=27299
3062
3063         * WebCore.pro:
3064
3065 2009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
3066
3067         Reviewed by Ariya Hidayat.
3068
3069         Fix the build without media elements.
3070
3071         * rendering/HitTestResult.cpp:
3072         (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
3073         markers around the body of the method.
3074
3075 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
3076
3077         Reviewed by Timothy Hatcher.
3078
3079         WebInspector: Move storeLastActivePanel out of the
3080         ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
3081         Add default panel for the first opening of the
3082         WebInspector.
3083
3084         https://bugs.webkit.org/show_bug.cgi?id=27263
3085
3086         * inspector/InspectorController.cpp:
3087         (InspectorController::setWindowVisible):
3088         * inspector/InspectorController.idl:
3089
3090 2009-07-14  Darin Adler  <darin@apple.com>
3091
3092         Try to fix Windows build.
3093
3094         * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
3095
3096 2009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
3097
3098         Reviewed by Oliver Hunt.
3099
3100         HTMLMediaElement::supportsFullscreen() should return false
3101         https://bugs.webkit.org/show_bug.cgi?id=27284
3102
3103         (Reverting a part of 45875)
3104
3105         HTMLVideoElement::supportsFullscreen() will properly do the
3106         job, and check if the backend supports fullscreen.
3107
3108         HTMLVideoElement is the only subclass to support fullscreen
3109         (conditionnaly). HTMLAudioElement fullscreen is not supported
3110         and is a different kind of fullscreen, if it comes to be wanted.
3111
3112         No test can be done currently given that none of the media
3113         backends support fullscreen.
3114
3115         * html/HTMLMediaElement.cpp:
3116         * html/HTMLMediaElement.h:
3117         (WebCore::HTMLMediaElement::supportsFullscreen):
3118
3119 2009-07-14  Darin Adler  <darin@apple.com>
3120
3121         Reviewed by Dimitri Glazkov.
3122
3123         Next step in making DOM attribute getter/setters consistently use AtomicString
3124         https://bugs.webkit.org/show_bug.cgi?id=25425
3125
3126         This covers eight DOM classes, and for each one of the classes:
3127
3128         - Changes the IDL to use the Reflect syntax for all simple cases.
3129         - Removes unused functions in the classes, mainly newly unused ones that were
3130           used for reflection before.
3131         - Removes unneeded explicitly defined destructors.
3132         - Explicitly declares destructors as virtual.
3133         - Removes unneeded includes.
3134         - Makes members protected or private rather than public where possible.
3135         - Renames "doc" to "document".
3136         - Tweaks formatting to match our latest style in a few places.
3137         - Improves some FIXME comments.
3138
3139         Over time we'll want to do this for all HTML DOM classes.
3140
3141         * html/HTMLAnchorElement.cpp:
3142         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
3143         * html/HTMLAnchorElement.h:
3144         (WebCore::HTMLAnchorElement::endTagRequirement):
3145         (WebCore::HTMLAnchorElement::tagPriority):
3146         * html/HTMLAnchorElement.idl:
3147         * html/HTMLAppletElement.cpp:
3148         * html/HTMLAppletElement.h:
3149         * html/HTMLAppletElement.idl:
3150         * html/HTMLAreaElement.cpp:
3151         (WebCore::HTMLAreaElement::parseMappedAttribute):
3152         * html/HTMLAreaElement.h:
3153         (WebCore::HTMLAreaElement::endTagRequirement):
3154         (WebCore::HTMLAreaElement::tagPriority):
3155         * html/HTMLAreaElement.idl:
3156         * html/HTMLBRElement.cpp:
3157         (WebCore::HTMLBRElement::parseMappedAttribute):
3158         * html/HTMLBRElement.h:
3159         * html/HTMLBRElement.idl:
3160         * html/HTMLBaseElement.cpp:
3161         (WebCore::HTMLBaseElement::HTMLBaseElement):
3162         (WebCore::HTMLBaseElement::removedFromDocument):
3163         (WebCore::HTMLBaseElement::process):
3164         * html/HTMLBaseElement.h:
3165         * html/HTMLBaseElement.idl:
3166         * html/HTMLBaseFontElement.cpp:
3167         (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
3168         * html/HTMLBaseFontElement.h:
3169         (WebCore::HTMLBaseFontElement::endTagRequirement):
3170         (WebCore::HTMLBaseFontElement::tagPriority):
3171         * html/HTMLBaseFontElement.idl:
3172         * html/HTMLBlockquoteElement.cpp:
3173         (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3174         * html/HTMLBlockquoteElement.h:
3175         (WebCore::HTMLBlockquoteElement::tagPriority):
3176         * html/HTMLBlockquoteElement.idl:
3177         * html/HTMLBodyElement.cpp:
3178         (WebCore::HTMLBodyElement::HTMLBodyElement):
3179         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
3180         * html/HTMLBodyElement.h:
3181         (WebCore::HTMLBodyElement::endTagRequirement):
3182         (WebCore::HTMLBodyElement::tagPriority):
3183         * html/HTMLBodyElement.idl:
3184         Made changes as described above.
3185
3186         * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
3187
3188 2009-07-14  Steve Falkenburg  <sfalken@apple.com>
3189
3190         Reorganize JavaScriptCore headers into:
3191         API: include/JavaScriptCore/
3192         Private: include/private/JavaScriptCore/
3193
3194         Reviewed by Darin Adler.
3195
3196         * WebCore.vcproj/QTMovieWin.vcproj:
3197         * WebCore.vcproj/WebCoreCommon.vsprops:
3198         * WebCore.vcproj/build-generated-files.sh:
3199
3200 2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
3201
3202         Reviewed by Darin Adler.
3203
3204         Change all Noncopyable inheriting visibility to public.
3205         https://bugs.webkit.org/show_bug.cgi?id=27225
3206
3207         Change all Noncopyable inheriting visibility to public because
3208         it is needed to the custom allocation framework (bug #20422).
3209
3210         * bindings/js/GCController.h:
3211         * bindings/js/WorkerScriptController.h:
3212         * bindings/v8/V8DOMMap.cpp:
3213         (WebCore::):
3214         * bridge/runtime.h:
3215         * css/CSSSelector.h:
3216         * css/CSSSelectorList.h:
3217         * css/CSSStyleSelector.h:
3218         * dom/ClassNames.h:
3219         * dom/MessagePortChannel.h:
3220         * dom/XMLTokenizerLibxml2.cpp:
3221         * dom/XMLTokenizerScope.h:
3222         * editing/ReplaceSelectionCommand.cpp:
3223         * editing/SelectionController.h:
3224         * editing/TextIterator.cpp:
3225         * history/PageCache.h:
3226         * html/CanvasRenderingContext2D.h:
3227         * html/HTMLParser.h:
3228         * html/HTMLParserQuirks.h:
3229         * html/PreloadScanner.h:
3230         * loader/Cache.h:
3231         * loader/CrossOriginPreflightResultCache.h:
3232         * loader/FrameLoader.h:
3233         * loader/ProgressTracker.h:
3234         * loader/ThreadableLoader.h:
3235         * loader/appcache/ApplicationCacheGroup.h:
3236         * loader/archive/ArchiveResourceCollection.h:
3237         * loader/icon/IconDatabase.h:
3238         * loader/icon/IconLoader.h:
3239         * loader/icon/PageURLRecord.h:
3240         * loader/loader.h:
3241         * page/ContextMenuController.h:
3242         * page/EventHandler.h:
3243         * page/FrameTree.h:
3244         * page/Page.h:
3245         * page/PageGroup.h:
3246         * page/PageGroupLoadDeferrer.h:
3247         * page/mac/EventHandlerMac.mm:
3248         * platform/AutodrainedPool.h:
3249         * platform/ContextMenu.h:
3250         * platform/EventLoop.h:
3251         * platform/HostWindow.h:
3252         * platform/Pasteboard.h:
3253         * platform/PurgeableBuffer.h:
3254         * platform/RunLoopTimer.h:
3255         * platform/ThreadGlobalData.h:
3256         * platform/ThreadTimers.h:
3257         * platform/Timer.h:
3258         * platform/TreeShared.h:
3259         * platform/graphics/FontData.h:
3260         * platform/graphics/GlyphWidthMap.h:
3261         * platform/graphics/GraphicsContext.h:
3262         * platform/graphics/ImageBuffer.h:
3263         * platform/graphics/ImageSource.h:
3264         * platform/graphics/MediaPlayer.h:
3265         * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
3266         * platform/graphics/skia/PlatformContextSkia.h:
3267         * platform/graphics/win/QTMovieWin.cpp:
3268         * platform/mac/LocalCurrentGraphicsContext.h:
3269         * platform/network/FormDataBuilder.h:
3270         * platform/network/ResourceHandleInternal.h:
3271         * platform/network/soup/ResourceHandleSoup.cpp:
3272         * platform/text/StringBuffer.h:
3273         * platform/text/TextCodec.h:
3274         * platform/win/WindowMessageBroadcaster.h:
3275         * rendering/CounterNode.h:
3276         * rendering/LayoutState.h:
3277         * rendering/RenderFrameSet.h:
3278         * rendering/RenderView.h:
3279         * rendering/TransformState.h:
3280         * svg/SVGAnimatedProperty.h:
3281         * svg/SynchronizableTypeWrapper.h:
3282         * workers/WorkerMessagingProxy.h:
3283         * workers/WorkerRunLoop.cpp:
3284         * xml/XPathExpressionNode.h:
3285         * xml/XPathParser.h:
3286         * xml/XPathPredicate.h:
3287         * xml/XPathStep.h:
3288
3289 2009-07-14  Darin Fisher  <darin@chromium.org>
3290
3291         Reviewed by Darin Adler.
3292
3293         Fails to save document state when navigating away from a page with a
3294         reference fragment.
3295         https://bugs.webkit.org/show_bug.cgi?id=27281
3296
3297         Test: fast/history/saves-state-after-fragment-nav.html
3298
3299         * history/HistoryItem.cpp:
3300         (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
3301         to compare URLs.
3302
3303 2009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
3304
3305         Reviewed by Sam Weinig.
3306
3307         Inspector: Remove Unintended Global Variables
3308         https://bugs.webkit.org/show_bug.cgi?id=27203
3309
3310         * inspector/front-end/Console.js:
3311         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
3312         * inspector/front-end/DatabasesPanel.js:
3313         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
3314         * inspector/front-end/ObjectPropertiesSection.js:
3315         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3316         * inspector/front-end/inspector.js:
3317         (WebInspector.animateStyle):
3318
3319 2009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
3320
3321         Reviewed by Adele Peterson.
3322
3323         https://bugs.webkit.org/show_bug.cgi?id=19562
3324         Added build stuff and stub for the ValidityState class, part of HTML5
3325         section Forms:
3326         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
3327
3328         Test: fast/forms/ValidityState-001.html
3329
3330         * DerivedSources.cpp: Inclusion of ValidityState files
3331         * DerivedSources.make: ditto
3332         * GNUmakefile.am: ditto
3333         * WebCore.gypi: ditto
3334         * WebCore.pro: ditto
3335         * WebCore.vcproj/WebCore.vcproj: ditto
3336         * WebCore.xcodeproj/project.pbxproj: ditto
3337         * WebCoreSources.bkl: ditto
3338         * html/HTMLButtonElement.idl: validity attribute
3339         * html/HTMLFieldSetElement.idl: ditto
3340         * html/HTMLFormControlElement.cpp:
3341         (WebCore::HTMLFormControlElement::validity): ValidityState getter
3342         * html/HTMLFormControlElement.h: ditto
3343         * html/HTMLInputElement.idl: validity attribute
3344         * html/HTMLSelectElement.idl: ditto
3345         * html/HTMLTextAreaElement.idl: ditto
3346         * html/ValidityState.cpp: Added.
3347         (WebCore::ValidityState::ValidityState):
3348         (WebCore::ValidityState::valid): validation flag
3349         * html/ValidityState.h: Added.
3350         (WebCore::ValidityState::create): validation flag
3351         (WebCore::ValidityState::control): ditto
3352         (WebCore::ValidityState::valueMissing): ditto
3353         (WebCore::ValidityState::typeMismatch): ditto
3354         (WebCore::ValidityState::patternMismatch): ditto
3355         (WebCore::ValidityState::tooLong): ditto
3356         (WebCore::ValidityState::rangeUnderflow): ditto
3357         (WebCore::ValidityState::rangeOverflow): ditto
3358         (WebCore::ValidityState::stepMismatch): ditto
3359         (WebCore::ValidityState::customError): ditto
3360         * html/ValidityState.idl: Added.
3361
3362 2009-07-14  Ryosuke Niwa  <rniwa@google.com>
3363
3364         Reviewed by Eric Seidel.
3365
3366         Outdenting a line inside a blockquote tag does nothing
3367         https://bugs.webkit.org/show_bug.cgi?id=25316
3368
3369         The bug was caused by the code checking whether the blockquote is created by WebKit or not.
3370         We simply remove this code to be consistent with Firefox and Internet Explorer.
3371         Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
3372         the placeholder before the enclosingNode because there could be contents before the current paragraph.
3373         Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
3374         It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
3375
3376         Test: editing/execCommand/outdent-regular-blockquote.html
3377
3378         * editing/IndentOutdentCommand.cpp:
3379         (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
3380         (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
3381
3382 2009-07-14  Adam Barth  <abarth@webkit.org>
3383
3384         Reviewed by Dimitri Glazkov.
3385
3386         [V8] Fix isolated world wrappers for Node prototypes
3387         https://bugs.webkit.org/show_bug.cgi?id=27277
3388
3389         This change does two things:
3390
3391         1) We bypass the wrapper cache in the isolated world.  This is because
3392            the wrapper template cache has prototypes that lead to the main
3393            world.  We can add a template cache for the isolated world if
3394            performance warrants.
3395
3396         2) We introduce a smarter way to grab the wrapper context for a frame
3397            that is aware that proxy <-> context do not stand in one-to-one
3398            correspondence.  This generalizes our solution for the node wrapper
3399            case to prototypes.
3400
3401         The net result is that Node wrappers get the right prototypes.  As
3402         before, tests to follow.
3403
3404         * bindings/v8/V8DOMWrapper.cpp:
3405         (WebCore::V8DOMWrapper::setHiddenWindowReference):
3406         (WebCore::V8DOMWrapper::instantiateV8Object):
3407         (WebCore::V8DOMWrapper::convertNodeToV8Object):
3408         (WebCore::V8DOMWrapper::convertWindowToV8Object):
3409         (WebCore::V8DOMWrapper::getWrapperContext):
3410         * bindings/v8/V8DOMWrapper.h:
3411
3412 2009-07-14  Adam Barth  <abarth@webkit.org>
3413
3414         Reviewed by Dimitri Glazkov.
3415
3416         [V8] Fix isolated world wrappers for Nodes
3417         https://bugs.webkit.org/show_bug.cgi?id=27271
3418
3419         Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
3420         caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
3421
3422         I have tests, but I can't land them until I get this feature under
3423         control.
3424
3425         * bindings/v8/V8DOMWrapper.cpp:
3426         (WebCore::V8DOMWrapper::convertNodeToV8Object):
3427         * bindings/v8/V8Proxy.h:
3428         (WebCore::V8Proxy::V8Proxy):
3429
3430 2009-07-14  Adam Barth  <abarth@webkit.org>
3431
3432         Reviewed by Dimitri Glazkov.
3433
3434         [V8] Fix isolated world crash on getting window.location
3435         https://bugs.webkit.org/show_bug.cgi?id=27268
3436
3437         I have a test for this locally, but it requires a compile-time hack to
3438         run.  Once I get the feature's stability under control, we can turn the
3439         feature on and add the tests.
3440
3441         * bindings/v8/V8DOMWrapper.cpp:
3442         (WebCore::V8DOMWrapper::setHiddenWindowReference):
3443         * bindings/v8/V8IsolatedWorld.h:
3444         (WebCore::V8IsolatedWorld::context):
3445
3446 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
3447
3448         Correct failing tests after r45875.  The original patch did not
3449         test the m_player member for null, causing crashes.  This will
3450         happen fairly frequently in real use.  Was this original patch
3451         ever tested?
3452         https://bugs.webkit.org/show_bug.cgi?id=27246
3453
3454         Test via existing media tests.
3455
3456         * html/HTMLMediaElement.cpp:
3457         (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
3458         (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
3459
3460 2009-07-14  Avi Drissman  <avi@chromium.org>
3461
3462         Reviewed by Darin Fisher.
3463
3464         Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
3465         The Windows clipboard format is explicitly documented as being UTF-8,
3466         and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
3467         indicated, Windows-1252 is assumed, which is wrong.
3468
3469         Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
3470
3471         No new tests.
3472
3473         * platform/chromium/ClipboardChromium.cpp:
3474         (WebCore::ClipboardChromium::writeRange):
3475         * platform/chromium/PasteboardChromium.cpp:
3476         (WebCore::Pasteboard::writeSelection):
3477
3478 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
3479
3480         Reviewed by Dimitri Glazkov.
3481
3482         Upstream V8NPObject.h and V8NPObject.cpp.
3483         https://bugs.webkit.org/show_bug.cgi?id=27103
3484
3485         This just upstreams the files from the chromium code base. Only
3486         minor changes to formatting and similar were done, so no testing
3487         is required because nothing really changed.  Code verified to compile.
3488
3489         * bindings/v8/ScriptController.cpp:
3490         (WebCore::ScriptController::bindToWindowObject):
3491         (WebCore::ScriptController::createScriptInstanceForWidget):
3492         * bindings/v8/V8NPObject.cpp: Added.
3493         (npObjectInvokeImpl):
3494         (npObjectMethodHandler):
3495         (npObjectInvokeDefaultHandler):
3496         (weakTemplateCallback):
3497         (npObjectGetProperty):
3498         (npObjectNamedPropertyGetter):
3499         (npObjectIndexedPropertyGetter):
3500         (npObjectGetNamedProperty):
3501         (npObjectGetIndexedProperty):
3502         (npObjectSetProperty):
3503         (npObjectNamedPropertySetter):
3504         (npObjectIndexedPropertySetter):
3505         (npObjectSetNamedProperty):
3506         (npObjectSetIndexedProperty):
3507         (weakNPObjectCallback):
3508         (createV8ObjectForNPObject):
3509         (forgetV8ObjectForNPObject):
3510         * bindings/v8/V8NPObject.h: Added.
3511         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3512         (WebCore::NAMED_PROPERTY_GETTER):
3513         (WebCore::NAMED_PROPERTY_SETTER):
3514         (WebCore::CALLBACK_FUNC_DECL):
3515         (WebCore::INDEXED_PROPERTY_GETTER):
3516         (WebCore::INDEXED_PROPERTY_SETTER):
3517
3518
3519 2009-07-14  Albert J. Wong  <ajwong@chromium.org>
3520
3521         Reviewed by Darin Adler.
3522
3523         Add HTMLMediaElement::supportSave() and a
3524         HitTestResult::absoluteMediaURL() functions
3525         https://bugs.webkit.org/show_bug.cgi?id=27246
3526
3527         Added an implementation of supportsSave() into HTMLMediaElement
3528         that delegates to MediaPlayerPrivateImpl so that the media engine
3529         is able to signal whether or not a media source supports saving.
3530
3531         Also added a function to HitTestResult that allows for retrieval
3532         of the currentSrc associated with the "hit" media element. 
3533         
3534         These functions are just pipeing with no visible UI change so there
3535         are no related layout test changes.
3536
3537         * html/HTMLMediaElement.cpp:
3538         (WebCore::HTMLMediaElement::supportsFullscreen): 
3539         (WebCore::HTMLMediaElement::supportsSave):
3540         * html/HTMLMediaElement.h:
3541         * platform/graphics/MediaPlayer.cpp:
3542         (WebCore::MediaPlayer::supportsSave):
3543         * platform/graphics/MediaPlayer.h:
3544         * platform/graphics/MediaPlayerPrivate.h:
3545         (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
3546         (WebCore::MediaPlayerPrivateInterface::supportsSave):
3547         * rendering/HitTestResult.cpp:
3548         (WebCore::HitTestResult::altDisplayString):
3549         (WebCore::HitTestResult::absoluteMediaURL):
3550         * rendering/HitTestResult.h:
3551
3552 2009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
3553
3554         Reviewed by Adam Barth.
3555
3556         [V8] Implement Reflect and ReflectURL attribute support.
3557         https://bugs.webkit.org/show_bug.cgi?id=27273
3558
3559         * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
3560
3561 2009-07-14  Dmitry Titov  <dimich@chromium.org>
3562
3563         Reviewed by Darin Adler.
3564
3565         https://bugs.webkit.org/show_bug.cgi?id=27266
3566         Add hasCurrentPoint() to WebCore::Path.
3567         This fixes Skia-based Chromium regression caused by the fix for
3568         https://bugs.webkit.org/show_bug.cgi?id=27187.
3569         For Skia, the new method always returns 'true', pending actual implementation.
3570         This means Chromium still will differ from Gecko behavior, but at least its Canvas
3571         will not be completely broken.
3572
3573         Existing Canvas Layout Tests should pass in Chromium after this change.
3574
3575         * html/CanvasRenderingContext2D.cpp:
3576         (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
3577         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
3578         (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
3579
3580         * platform/graphics/Path.h:
3581         * platform/graphics/cairo/PathCairo.cpp:
3582         (WebCore::Path::hasCurrentPoint):
3583         * platform/graphics/cg/PathCG.cpp:
3584         (WebCore::Path::isEmpty):
3585         (WebCore::Path::hasCurrentPoint):
3586         * platform/graphics/qt/PathQt.cpp:
3587         (WebCore::Path::hasCurrentPoint):
3588         * platform/graphics/skia/PathSkia.cpp:
3589         (WebCore::Path::hasCurrentPoint):
3590         * platform/graphics/wx/PathWx.cpp:
3591         (WebCore::Path::hasCurrentPoint):
3592         All these files add a Path::hasCurrentPoint() for various platforms.
3593
3594 2009-07-14  Nate Chapin  <japhet@chromium.org>
3595
3596         Reviewed by Sam Weinig.
3597
3598         Upstream RGBColor from src.chromium.org.
3599
3600         https://bugs.webkit.org/show_bug.cgi?id=27133
3601
3602         * WebCore.gypi: Add RGBColor
3603         * css/RGBColor.cpp: Added.
3604         (WebCore::RGBColor::create):
3605         (WebCore::RGBColor::red):
3606         (WebCore::RGBColor::green):
3607         (WebCore::RGBColor::blue):
3608         * css/RGBColor.h: Added.
3609         (WebCore::RGBColor::RGBColor):
3610
3611 2009-07-10  Matt Perry  <mpcomplete@chromium.org>
3612
3613         Reviewed by Darin Fisher.
3614
3615         [V8] Rename the didCreate/DestroyScriptContext calls to make it
3616         clear that that those refer to the frame's contxt.  Add another
3617         similar call for when creating contexts via evaluateInNewContext.
3618         https://bugs.webkit.org/show_bug.cgi?id=27104
3619
3620         * bindings/v8/V8Proxy.cpp:
3621         (WebCore::V8Proxy::evaluateInNewContext):
3622         (WebCore::V8Proxy::disposeContextHandles):
3623         (WebCore::V8Proxy::initContextIfNeeded):
3624         * loader/EmptyClients.h:
3625         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
3626         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
3627         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
3628         * loader/FrameLoaderClient.h:
3629
3630 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
3631
3632         Revert http://trac.webkit.org/changeset/45864 after
3633         breaking of Windows build.
3634
3635         * storage/LocalStorageTask.cpp:
3636         * storage/LocalStorageTask.h:
3637         * storage/Storage.cpp:
3638         * storage/Storage.h:
3639         * storage/StorageArea.cpp:
3640         * storage/StorageArea.h:
3641         * storage/StorageAreaImpl.cpp:
3642         * storage/StorageAreaImpl.h:
3643         * storage/StorageAreaSync.cpp:
3644         * storage/StorageAreaSync.h:
3645         * storage/StorageEvent.cpp:
3646         * storage/StorageEvent.h:
3647         (WebCore::StorageEvent::create):
3648         (WebCore::StorageEvent::StorageEvent):
3649         * storage/StorageNamespace.h:
3650         * storage/StorageNamespaceImpl.cpp:
3651         * storage/StorageNamespaceImpl.h:
3652         * storage/StorageSyncManager.cpp:
3653         * storage/StorageSyncManager.h:
3654
3655 2009-07-11  Jeremy Orlow  <jorlow@chromium.org>
3656
3657         Reviewed by Darin Adler.
3658
3659         Cleanup DOM Storage dependencies.
3660         https://bugs.webkit.org/show_bug.cgi?id=27180
3661
3662         DOM Storage had several unnecessary (and probably unintended)
3663         dependencies.  This patch replaces many includes of header files with
3664         forward declaration of classes, making some destructors explicit, and
3665         taking some factories out of the header files.
3666
3667         This will allow things like StorageAreaSync to take a StorageAreaImpl*
3668         (as it should) rather than a StorageArea* which previously weren't
3669         possible because the dependencies were such a tangled mess.
3670
3671         * storage/LocalStorageTask.cpp:
3672         (WebCore::LocalStorageTask::~LocalStorageTask):
3673         * storage/LocalStorageTask.h:
3674         * storage/Storage.cpp:
3675         (WebCore::Storage::~Storage):
3676         * storage/Storage.h:
3677         * storage/StorageArea.cpp:
3678         * storage/StorageArea.h:
3679         * storage/StorageAreaImpl.cpp:
3680         * storage/StorageAreaImpl.h:
3681         * storage/StorageAreaSync.cpp:
3682         (WebCore::StorageAreaSync::~StorageAreaSync):
3683         * storage/StorageAreaSync.h:
3684         * storage/StorageEvent.cpp:
3685         (WebCore::StorageEvent::create):
3686         (WebCore::StorageEvent::StorageEvent):
3687         * storage/StorageEvent.h:
3688         * storage/StorageNamespace.h:
3689         * storage/StorageNamespaceImpl.cpp:
3690         * storage/StorageNamespaceImpl.h:
3691         * storage/StorageSyncManager.cpp:
3692         (WebCore::StorageSyncManager::~StorageSyncManager):
3693         * storage/StorageSyncManager.h:
3694
3695
3696 2009-07-14  Adam Treat  <adam.treat@torchmobile.com>
3697
3698         Reviewed by David Hyatt.
3699
3700         https://bugs.webkit.org/show_bug.cgi?id=26983
3701
3702         Check to make sure the view is attached to a frame() in the visibleContentsResized()
3703         method as it can be triggered before the view is attached by Frame::createView(...)
3704         setting various values such as setScrollBarModes(...) for example.  An ASSERT is
3705         triggered when a view is layout before being attached to a frame().
3706
3707         * page/FrameView.cpp:
3708         (WebCore::FrameView::visibleContentsResized):
3709         * page/FrameView.h:
3710
3711 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
3712
3713         Reviewed by Timothy Hatcher.
3714
3715         WebInspector: show last opened panel when invoking inspector.
3716
3717         https://bugs.webkit.org/show_bug.cgi?id=27263
3718
3719         * inspector/InspectorController.cpp:
3720         (WebCore::InspectorController::InspectorController):
3721         (WebCore::InspectorController::setWindowVisible):
3722         (WebCore::InspectorController::storeLastActivePanel):
3723         (WebCore::InspectorController::specialPanelForJSName):
3724         * inspector/InspectorController.h:
3725         (WebCore::InspectorController::Setting::Setting):
3726         * inspector/InspectorController.idl:
3727         * inspector/front-end/inspector.js:
3728         (WebInspector.set currentPanel):
3729         (WebInspector.loaded):
3730
3731 2009-07-14  Anton Muhin  <antonm@chromium.org>
3732
3733         Reviewed by Dimitri Glazkov.
3734
3735         Speed up access to NodeList length.
3736         https://bugs.webkit.org/show_bug.cgi?id=27264
3737
3738         That's a minimal alternation of the code.
3739
3740         * bindings/v8/custom/V8NodeListCustom.cpp:
3741         (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
3742         v8::Integer::New instead of v8::Number::New.
3743
3744 2009-07-14  Anton Muhin  <antonm@chromium.org>
3745
3746         Reviewed by Dimitri Glazkov.
3747
3748         Do not do unnecessary conversions from v8::Handle<v8::Value> to
3749         v8::Handle<v8::Object> and accompanying changes.
3750         https://bugs.webkit.org/show_bug.cgi?id=26953
3751
3752         Three things:
3753
3754         1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
3755         but are not free (they check for emptiness of handle);
3756         2) inline conversion from wrapper to node;
3757         3) simplify case to an ASSERT.
3758
3759         This is just a refactoring, so no new tests are needed.
3760
3761         * bindings/scripts/CodeGeneratorV8.pm:
3762         * bindings/v8/V8Proxy.cpp:
3763         (WebCore::V8Proxy::evaluateInNewContext):
3764         (WebCore::V8Proxy::convertToSVGPODTypeImpl):
3765         * bindings/v8/V8Proxy.h:
3766         (WebCore::V8Proxy::convertDOMWrapperToNative):
3767         (WebCore::V8Proxy::convertToNativeObject):
3768         (WebCore::V8Proxy::convertToNativeEvent):
3769         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3770         (WebCore::toCanvasStyle):
3771         (WebCore::CALLBACK_FUNC_DECL):
3772         * bindings/v8/custom/V8CustomBinding.cpp:
3773         (WebCore::V8Custom::GetTargetFrame):
3774         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3775         (WebCore::CALLBACK_FUNC_DECL):
3776         (WebCore::V8Custom::ClearTimeoutImpl):
3777         (WebCore::NAMED_ACCESS_CHECK):
3778         (WebCore::INDEXED_ACCESS_CHECK):
3779         * bindings/v8/custom/V8DocumentCustom.cpp:
3780         (WebCore::CALLBACK_FUNC_DECL):
3781         * bindings/v8/custom/V8LocationCustom.cpp:
3782         (WebCore::CALLBACK_FUNC_DECL):
3783
3784 2009-07-14  Darin Adler  <darin@apple.com>
3785
3786         Reviewed by Dan Bernstein.
3787
3788         Straight quotes should match fancy quotes in in-page search
3789         https://bugs.webkit.org/show_bug.cgi?id=27217
3790
3791         Tests: fast/text/find-quotes.html
3792
3793         * editing/TextIterator.cpp:
3794         (WebCore::foldQuoteMark): Added.
3795         (WebCore::foldQuoteMarks): Added.
3796         (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
3797         (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
3798         added to the search buffer.
3799
3800         * platform/text/CharacterNames.h: Added more quotation mark character names.
3801         Sorted character names with the sort tool.
3802
3803 2009-07-13  Pavel Feldman  <pfeldman@chromium.org>
3804
3805         Reviewed by Timothy Hatcher.
3806
3807         WebInspector: handle debugger shortcuts while on source frame or on
3808         script file selector.
3809
3810         https://bugs.webkit.org/show_bug.cgi?id=27224
3811
3812         * inspector/front-end/ScriptsPanel.js:
3813         (WebInspector.ScriptsPanel):
3814         * inspector/front-end/SourceFrame.js:
3815         (WebInspector.SourceFrame.prototype._loaded):
3816
3817 2009-07-13  Sam Weinig  <sam@webkit.org>
3818
3819         Reviewed by Darin Adler.
3820
3821         Use standard HashCountedSet instead of a hand rolled one
3822         in HTMLDocument.
3823
3824         * html/HTMLDocument.cpp:
3825         (WebCore::addItemToMap):
3826         (WebCore::removeItemFromMap):
3827         * html/HTMLDocument.h:
3828
3829 2009-07-13  Erik Arvidsson  <arv@chromium.org>
3830
3831         Reviewed by Darin Adler and Maciej Stachowiak.
3832
3833         Implement HTML5 draggable
3834         https://bugs.webkit.org/show_bug.cgi?id=26262
3835
3836         This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
3837         to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
3838
3839         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
3840
3841         Test: fast/html/draggable.html
3842
3843         * css/html.css:
3844         * html/HTMLAnchorElement.cpp:
3845         (WebCore::HTMLAnchorElement::draggable):
3846         * html/HTMLAnchorElement.h:
3847         * html/HTMLAttributeNames.in:
3848         * html/HTMLElement.cpp:
3849         (WebCore::HTMLElement::draggable):
3850         (WebCore::HTMLElement::setDraggable):
3851         * html/HTMLElement.h:
3852         * html/HTMLElement.idl:
3853         * html/HTMLImageElement.cpp:
3854         (WebCore::HTMLImageElement::draggable):
3855         * html/HTMLImageElement.h:
3856
3857 2009-07-13  Simon Fraser  <simon.fraser@apple.com>
3858
3859         Reviewed by Dan Bernstein.
3860
3861         Image rendered as layer contents looks different from image rendered via CG.
3862         <rdar://problem/7048830> 
3863         
3864         Fix a visible color profile difference between between images rendered via Core Graphics
3865         and those rendered via a compositing layer, by assigning the GenericRGB profile to
3866         untagged images (which come through as having the DeviceRGB profile) when they are set
3867         as layer contents.
3868
3869         Test: compositing/color-matching/image-color-matching.html
3870
3871         * platform/graphics/mac/GraphicsLayerCA.mm:
3872         (WebCore::GraphicsLayerCA::setContentsToImage):
3873
3874 2009-07-13  Darin Adler  <darin@apple.com>
3875
3876         Reviewed by Oliver Hunt.
3877
3878         https://bugs.webkit.org/show_bug.cgi?id=27220
3879         Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
3880
3881         * editing/TextIterator.cpp:
3882         (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
3883         in the assertion. Affects only the assertion.
3884
3885 2009-07-13  Alexey Proskuryakov  <ap@webkit.org>
3886
3887         Reviewed by Darin Adler.
3888
3889         https://bugs.webkit.org/show_bug.cgi?id=26925
3890         <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
3891
3892         Test: http/tests/appcache/main-resource-hash.html
3893
3894         * loader/appcache/ApplicationCache.cpp:
3895         (WebCore::ApplicationCache::resourceForURL):
3896         (WebCore::ApplicationCache::resourceForRequest):
3897         * loader/appcache/ApplicationCacheGroup.cpp:
3898         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
3899         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
3900         (WebCore::ApplicationCacheGroup::selectCache):
3901         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
3902         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3903         (WebCore::ApplicationCacheGroup::didFail):
3904         (WebCore::ApplicationCacheGroup::addEntry):
3905         Remove URL fragment at appcache code borders.
3906
3907         * loader/appcache/ApplicationCacheResource.h:
3908         (WebCore::ApplicationCacheResource::create):
3909         * loader/appcache/ApplicationCacheStorage.cpp:
3910         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
3911         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
3912         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
3913         Assert that there is no URL fragment in URL at key points in appcache code.
3914
3915 2009-07-13  Darin Adler  <darin@apple.com>
3916
3917         Reviewed by Dan Bernstein.
3918
3919         https://bugs.webkit.org/show_bug.cgi?id=27166
3920         rdar://problem/7015857
3921         Find for strings composed entirely of spaces doesn't work
3922
3923         Test: fast/text/find-spaces.html
3924
3925         * editing/TextIterator.cpp:
3926         (WebCore::findPlainText): Removed unneeded special case.
3927         The empty string case already works correctly.
3928
3929 2009-07-13  Anders Carlsson  <andersca@apple.com>
3930
3931         Reviewed by Kevin Decker.
3932
3933         Remove NPPVpluginPrivateModeBool, it was removed from the spec.
3934         
3935         * bridge/npapi.h:
3936
3937 2009-07-13  Feng Qian  <feng@chromium.org>
3938
3939         Reviewed by Dimitri Glazkov.
3940
3941         Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
3942
3943         Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  
3944
3945         * bindings/v8/V8DOMMap.h:
3946         (WebCore::WeakReferenceMap::WeakReferenceMap):
3947         (WebCore::WeakReferenceMap::~WeakReferenceMap):
3948
3949 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
3950
3951         Reviewed by Darin Fisher.
3952
3953         Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
3954
3955         * WebCore.gypi: Removed bidi.cpp and bidi.h
3956
3957 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
3958
3959         Reviewed by Darin Fisher.
3960
3961         Update WebCore.gyp in preparation to hooking it up.
3962
3963         * WebCore.gypi: Added files that were mid-stream while switching over.
3964
3965 2009-07-13  Dmitry Titov  <dimich@chromium.org>
3966
3967         Not reviewed, another small fix for Chromium build.
3968
3969         * bindings/v8/ScriptController.cpp:
3970         (WebCore::ScriptController::evaluate):
3971
3972 2009-07-13  Dmitry Titov  <dimich@chromium.org>
3973
3974         Not reviewed, fix Chromium build bustage.
3975
3976         * bindings/v8/ScriptController.cpp:
3977         (WebCore::ScriptController::evaluate):
3978         * bindings/v8/V8Proxy.cpp:
3979         (WebCore::JavaScriptConsoleMessage::addToPage):
3980         * bindings/v8/WorkerContextExecutionProxy.cpp:
3981         (WebCore::handleConsoleMessage):
3982
3983 2009-07-13  Sam Weinig  <sam@webkit.org>
3984
3985         Reviewed by Darin Adler.
3986
3987         Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
3988         <rdar://problem/7054356>
3989
3990         Add null page check in HTMLDocument::hasFocus.
3991
3992         Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
3993
3994         * html/HTMLDocument.cpp:
3995         (WebCore::HTMLDocument::hasFocus): Add page null check.
3996         (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
3997
3998 2009-07-13  Dan Bernstein  <mitz@apple.com>
3999
4000         Reviewed by Darin Adler.
4001
4002         Disable continuous spell checking in the inspector
4003         https://bugs.webkit.org/show_bug.cgi?id=27131
4004
4005         * inspector/front-end/inspector.html: Added spellcheck="false" to the
4006             main-panels and console-prompt containers.
4007
4008 2009-07-13  Adam Langley  <agl@google.com>
4009
4010         Reviewed by Eric Seidel.
4011
4012         Chromium Linux: fix assertion when rendering google.com.kh
4013
4014         https://bugs.webkit.org/show_bug.cgi?id=26924
4015
4016         Some shapers (i.e. Khmer) will produce cluster logs which report that
4017         /no/ code points contributed to certain glyphs. Because of this, we
4018         take any code point which contributed to the glyph in question, or any
4019         subsequent glyph.  If we run off the end, then we take the last code
4020         point.
4021
4022         Added LayoutTests/fast/text/international/khmar-selection.html
4023
4024         * platform/graphics/chromium/FontLinux.cpp:
4025         (WebCore::Font::offsetForPositionForComplexText):
4026
4027 2009-07-13  Dan Bernstein  <mitz@apple.com>
4028
4029         Reviewed by Darin Adler.
4030
4031         spellcheck="false" is ignored
4032         <rdar://problem/7054177>
4033
4034         * editing/Editor.cpp:
4035         (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
4036             spellcheck attribute from here...
4037         (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
4038         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
4039             if spell chcking is disabled by the spellcheck attribute.
4040         * editing/Editor.h:
4041
4042 2009-07-13  Brent Fulgham  <bfulgham@webkit.org>
4043
4044         Reviewed by Adam Roben.
4045
4046         Add new configuration flag for redistributable Windows build.
4047         https://bugs.webkit.org/show_bug.cgi=27087
4048         
4049         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
4050           Debug_Cairo and Release_Cairo builds.
4051         * config.h: Check for presence of WIN_CAIRO and select appropriate
4052           configuration.  Defaults to standard Apple build.
4053
4054 2009-07-13  Peter Kasting  <pkasting@google.com>
4055
4056         https://bugs.webkit.org/show_bug.cgi?id=19562
4057         Back out previous patch for this bug (too many problems).
4058
4059         * DerivedSources.cpp:
4060         * DerivedSources.make:
4061         * GNUmakefile.am:
4062         * WebCore.gypi:
4063         * WebCore.pro:
4064         * WebCore.vcproj/WebCore.vcproj:
4065         * WebCore.xcodeproj/project.pbxproj:
4066         * WebCoreSources.bkl:
4067         * html/HTMLButtonElement.idl:
4068         * html/HTMLFieldSetElement.idl:
4069         * html/HTMLFormControlElement.cpp:
4070         * html/HTMLFormControlElement.h:
4071         (WebCore::HTMLFormControlElement::form):
4072         * html/HTMLInputElement.idl:
4073         * html/HTMLSelectElement.idl:
4074         * html/HTMLTextAreaElement.idl:
4075         * html/ValidityState.cpp: Removed.
4076         * html/ValidityState.h: Removed.
4077         * html/ValidityState.idl: Removed.
4078
4079 2009-07-13  Nate Chapin  <japhet@chromium.org>
4080
4081         Reviewed by Dimitri Glazkov.
4082
4083         Add HTMLAllCollection to WebCore.gypi.
4084
4085         https://bugs.webkit.org/show_bug.cgi?id=27223
4086
4087         * WebCore.gypi: Add HTMLAllCollection.
4088
4089 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
4090
4091         Reviewed by Darin Fisher.
4092
4093         [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
4094         https://bugs.webkit.org/show_bug.cgi?id=27218
4095
4096         Test: fast/css/matrix-as-function-crash.html
4097
4098         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
4099         (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
4100
4101 2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
4102
4103         Unreviewed make dist build fix.
4104
4105         * GNUmakefile.am:
4106
4107 2009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
4108
4109         Reviewed by Tor Arne Vestbø.
4110
4111         Fix NPWindow clip rect in PluginViewMac
4112
4113         The rect should be in window-coordinates. This bug can be observed
4114         with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
4115
4116         * plugins/mac/PluginViewMac.cpp:
4117
4118 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
4119
4120         Reviewed by Ariya Hidayat.
4121
4122         Fix Qt implementation of WebCore::directoryName to return the absolute
4123         directory name instead of the base file name.
4124
4125         * platform/qt/FileSystemQt.cpp:
4126         (WebCore::directoryName):
4127
4128 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
4129
4130         Reviewed by Ariya Hidayat.
4131
4132         Fix WebCore::Path::isEmpty() for the Qt port to return true
4133         if there is no element in the path.
4134
4135         QPainterPath::isEmpty() returns also true if there is one single
4136         MoveTo element inside, which makes sense but doesn't patch Webcore's
4137         is-empty definition.
4138
4139         * platform/graphics/qt/PathQt.cpp:
4140         (WebCore::Path::isEmpty): Use elementCount() == 0.
4141
4142 2009-07-13  Albert J. Wong  <ajwong@chromium.org>
4143
4144         Reviewed by Dimitri Glazkov.
4145
4146         Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
4147         https://bugs.webkit.org/show_bug.cgi?id=27127
4148
4149         There were a number of bugs introduced during the last upstreaming
4150         effort that broke around 30 layout tests.  This fixes those bugs.
4151         It also has compile fixes to match the recent cutting apart of
4152         V8Proxy.
4153
4154         * bindings/v8/NPV8Object.cpp:
4155         (freeV8NPObject):
4156         (npCreateV8ScriptObject):
4157         (NPN_Invoke):
4158         (NPN_InvokeDefault):
4159         (NPN_EvaluateHelper):
4160         (NPN_SetException):
4161         (NPN_Construct):
4162
4163 2009-07-13  Mads Ager  <ager@chromium.org>
4164
4165         Reviewed by Adam Barth.
4166
4167         Fix memory leak in the V8 binding layer. 
4168         https://bugs.webkit.org/show_bug.cgi?id=27163
4169
4170         Reinitializing the context is not necessary when clearing the proxy for navigation
4171         and it will lead us to hold on to an empty context for each frame.
4172
4173         Test for empty context instead of empty global object handle when
4174         updating the document for a context.
4175
4176         * bindings/v8/V8Proxy.cpp:
4177         (WebCore::V8Proxy::clearForNavigation):
4178         (WebCore::V8Proxy::updateDocument):
4179
4180 2009-07-13  John Gregg  <johnnyg@google.com>
4181
4182         Reviewed by David Levin.
4183
4184         Correct the logic to determine if a V8 callback returns a value.
4185         https://bugs.webkit.org/show_bug.cgi?id=27155
4186
4187         * bindings/v8/custom/V8CustomVoidCallback.cpp:
4188         (WebCore::invokeCallback):
4189         - Don't crash if result.IsEmpty().
4190
4191 2009-07-13  Drew Wilson  <atwilson@google.com>
4192
4193         Reviewed by David Levin.
4194
4195         Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
4196         https://bugs.webkit.org/show_bug.cgi?id=26932
4197
4198         Initial IDL definition and bindings for SharedWorkers.
4199
4200         * Configurations/FeatureDefines.xcconfig:
4201         Added new files for SharedWorker support.
4202         * DerivedSources.make:
4203         Added new files for SharedWorker support.
4204         * GNUmakefile.am:
4205         Added new files for SharedWorker support.
4206         * WebCore.gypi:
4207         Added new files for SharedWorker support.
4208         * WebCore.pro:
4209         Added new files for SharedWorker support.
4210         * WebCore.xcodeproj/project.pbxproj:
4211         Added new files for SharedWorker support.
4212         * bindings/js/JSAbstractWorkerCustom.cpp: Added.
4213         (WebCore::JSAbstractWorker::mark):
4214         Custom mark handler that marks the event listeners.
4215         (WebCore::JSAbstractWorker::addEventListener):
4216         (WebCore::JSAbstractWorker::removeEventListener):
4217         (WebCore::JSAbstractWorker::toJS):
4218         Custom toJS handler which differentiates between various subclasses.
4219         * bindings/js/JSDOMWindowCustom.cpp:
4220         (WebCore::JSDOMWindow::sharedWorker):
4221         SharedWorker constructor (only enabled when SHARED_WORKERS is
4222         enabled).
4223         * bindings/js/JSEventTarget.cpp:
4224         (WebCore::toJS):
4225         (WebCore::toEventTarget):
4226         Added support for converting to/from SharedWorkers.
4227         * bindings/js/JSSharedWorkerConstructor.cpp: Added.
4228         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
4229         (WebCore::constructSharedWorker):
4230         (WebCore::JSSharedWorkerConstructor::getConstructData):
4231         * bindings/js/JSSharedWorkerConstructor.h: Added.
4232         (WebCore::JSSharedWorkerConstructor::classInfo):
4233         * bindings/js/JSSharedWorkerCustom.cpp: Added.
4234         (WebCore::JSSharedWorker::mark):
4235         Custom mark function that marks the internal MessagePort.
4236         * bindings/v8/DOMObjectsInclude.h:
4237         Updated to include new header files.
4238         * bindings/v8/V8Index.cpp:
4239         * bindings/v8/V8Index.h:
4240         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
4241         (WebCore::getEventListener):
4242         (WebCore::ACCESSOR_GETTER):
4243         (WebCore::ACCESSOR_SETTER):
4244         (WebCore::CALLBACK_FUNC_DECL):
4245         V8 handlers for add/removeEventListener().
4246         * bindings/v8/custom/V8CustomBinding.h:
4247         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
4248         (WebCore::CALLBACK_FUNC_DECL):
4249         Custom constructor for SharedWorker.
4250         * dom/EventTarget.cpp:
4251         (WebCore::EventTarget::toSharedWorker):
4252         * dom/EventTarget.h:
4253         * page/DOMWindow.idl:
4254         * workers/AbstractWorker.cpp: Added.
4255         (WebCore::AbstractWorker::AbstractWorker):
4256         Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
4257         This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
4258         (WebCore::AbstractWorker::~AbstractWorker):
4259         (WebCore::AbstractWorker::addEventListener):
4260         (WebCore::AbstractWorker::removeEventListener):
4261         (WebCore::AbstractWorker::dispatchEvent):
4262         (WebCore::AbstractWorker::dispatchLoadErrorEvent):
4263         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
4264         * workers/AbstractWorker.h: Added.
4265         Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
4266         (WebCore::AbstractWorker::scriptExecutionContext):
4267         (WebCore::AbstractWorker::setOnerror):
4268         (WebCore::AbstractWorker::onerror):
4269         (WebCore::AbstractWorker::eventListeners):
4270         (WebCore::AbstractWorker::refEventTarget):
4271         (WebCore::AbstractWorker::derefEventTarget):