dcd46fc3f233dc5b0c4881a8ebbc430b7743189f
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-08  Peterson Trethewey  <petersont@google.com>
2
3         Reviewed by Oliver Hunt.
4
5         Implement WebGLUniformLocation and change API to use it.
6         https://bugs.webkit.org/show_bug.cgi?id=31173
7
8         Test: fast/canvas/webgl/uniform-location.html
9
10         * DerivedSources.make:
11         * WebCore.gypi:
12         * WebCore.xcodeproj/project.pbxproj:
13         * bindings/js/JSWebGLRenderingContextCustom.cpp:
14         (WebCore::JSWebGLRenderingContext::getProgramParameter):
15         (WebCore::JSWebGLRenderingContext::getUniform):
16         (WebCore::functionForUniform):
17         (WebCore::dataFunctionf):
18         (WebCore::dataFunctioni):
19         (WebCore::dataFunctionMatrix):
20         * bindings/scripts/CodeGeneratorV8.pm:
21         * bindings/v8/DerivedSourcesAllInOne.cpp:
22         * bindings/v8/V8Index.cpp:
23         * bindings/v8/V8Index.h:
24         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
25         (WebCore::toWebGLUniformLocation):
26         (WebCore::):
27         (WebCore::CALLBACK_FUNC_DECL):
28         (WebCore::isFunctionToCallForAttribute):
29         (WebCore::vertexAttribAndUniformHelperf):
30         (WebCore::uniformHelperi):
31         (WebCore::uniformMatrixHelper):
32         * html/canvas/WebGLRenderingContext.cpp:
33         (WebCore::WebGLRenderingContext::getUniform):
34         (WebCore::WebGLRenderingContext::getUniformLocation):
35         (WebCore::WebGLRenderingContext::uniform1f):
36         (WebCore::WebGLRenderingContext::uniform1fv):
37         (WebCore::WebGLRenderingContext::uniform1i):
38         (WebCore::WebGLRenderingContext::uniform1iv):
39         (WebCore::WebGLRenderingContext::uniform2f):
40         (WebCore::WebGLRenderingContext::uniform2fv):
41         (WebCore::WebGLRenderingContext::uniform2i):
42         (WebCore::WebGLRenderingContext::uniform2iv):
43         (WebCore::WebGLRenderingContext::uniform3f):
44         (WebCore::WebGLRenderingContext::uniform3fv):
45         (WebCore::WebGLRenderingContext::uniform3i):
46         (WebCore::WebGLRenderingContext::uniform3iv):
47         (WebCore::WebGLRenderingContext::uniform4f):
48         (WebCore::WebGLRenderingContext::uniform4fv):
49         (WebCore::WebGLRenderingContext::uniform4i):
50         (WebCore::WebGLRenderingContext::uniform4iv):
51         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
52         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
53         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
54         * html/canvas/WebGLRenderingContext.h:
55         * html/canvas/WebGLRenderingContext.idl:
56         * html/canvas/WebGLUniformLocation.cpp: Added.
57         (WebCore::WebGLUniformLocation::create):
58         (WebCore::WebGLUniformLocation::WebGLUniformLocation):
59         * html/canvas/WebGLUniformLocation.h: Added.
60         (WebCore::WebGLUniformLocation::~WebGLUniformLocation):
61         (WebCore::WebGLUniformLocation::program):
62         (WebCore::WebGLUniformLocation::location):
63         * html/canvas/WebGLUniformLocation.idl: Added.
64
65 2009-12-08  Adam Langley  <agl@google.com>
66
67         Reviewed by Darin Adler.
68
69         Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
70
71         startDelayUpdateScrollInfo calls a function that can end up calling
72         startDelayUpdateScrollInfo again. However, it's static state is
73         inconsistent when this happens leading to an assertion failure (or
74         probably a memory leak if assertions are off).
75
76         Thanks to Robert Swiecki for the test case.
77
78         https://bugs.webkit.org/show_bug.cgi?id=32172
79         http://code.google.com/p/chromium/issues/detail?id=28880
80
81         Test: fast/css/recursive-delay-update-scroll.html
82
83         * rendering/RenderBlock.cpp:
84         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
85
86 2009-12-08  Steve Falkenburg  <sfalken@apple.com>
87
88         Reviewed by Adam Roben.
89
90         WebCore source level debugging on Windows not reliable in some cases
91         https://bugs.webkit.org/show_bug.cgi?id=32297
92
93         Customized pdb file name/location for WebCore static library.
94
95         * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName.
96
97 2009-12-08  Kevin Watters  <kevinwatters@gmail.com>
98
99         Reviewed by Kevin Ollivier.
100
101         [wx] Mac plugins support.
102         
103         https://bugs.webkit.org/show_bug.cgi?id=32236
104
105         * platform/FileSystem.h:
106         * platform/cf/BinaryPropertyList.h:
107         * platform/network/curl/ResourceHandleManager.cpp:
108         * platform/wx/FileSystemWx.cpp:
109         (WebCore::fileExists):
110         (WebCore::unloadModule):
111         (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive):
112         (WebCore::wxDirTraverserNonRecursive::OnFile):
113         (WebCore::wxDirTraverserNonRecursive::OnDir):
114         (WebCore::listDirectory):
115         * plugins/mac/PluginViewMac.cpp:
116         (WebCore::nativeWindowFor):
117         (WebCore::cgHandleFor):
118         (WebCore::topLevelOffsetFor):
119         (WebCore::PluginView::platformStart):
120         (WebCore::PluginView::setFocus):
121         (WebCore::PluginView::invalidateRect):
122         (WebCore::PluginView::handleKeyboardEvent):
123         (WebCore::PluginView::globalMousePosForPlugin):
124         * plugins/wx/PluginDataWx.cpp: Added.
125         (WebCore::PluginData::initPlugins):
126         (WebCore::PluginData::refresh):
127         * wscript:
128
129 2009-12-08  Brady Eidson  <beidson@apple.com>
130
131         Reviewed by Darin Adler.
132
133         Navigating to a cached page can result in accessing a destroyed HTMLInputElement.
134         <rdar://problem/6856662> and https://webkit.org/b/32293
135
136         Test: fast/loader/input-element-page-cache-crash.html
137
138         * html/HTMLInputElement.cpp:
139         (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation
140           callback after the new m_autocomplete setting has been stored so the unregistration actually
141           takes place.
142
143 2009-12-08  Dmitry Titov  <dimich@chromium.org>
144
145         Rubber-stamped by David Levin.
146
147         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
148         It may have caused massive increase of reported leaks on the bots.
149         https://bugs.webkit.org/show_bug.cgi?id=31639
150
151         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
152         * loader/icon/IconRecord.cpp:
153         (WebCore::IconRecord::IconRecord):
154         * platform/SharedBuffer.cpp:
155         (WebCore::SharedBuffer::SharedBuffer):
156         * platform/text/StringImpl.cpp:
157         (WebCore::StringImpl::StringImpl):
158
159 2009-12-08  Pavel Feldman  <pfeldman@chromium.org>
160
161         Reviewed by Darin Fisher.
162
163         Chromium: support custom WebCore context menu items in Chromium port.
164
165         https://bugs.webkit.org/show_bug.cgi?id=32277
166
167         * platform/ContextMenu.h:
168         * platform/ContextMenuItem.h:
169         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
170         * platform/chromium/ContextMenuChromium.cpp:
171         (WebCore::ContextMenu::ContextMenu):
172         (WebCore::ContextMenu::itemCount):
173         (WebCore::ContextMenu::insertItem):
174         (WebCore::ContextMenu::appendItem):
175         (WebCore::ContextMenu::itemWithAction):
176         (WebCore::ContextMenu::itemAtIndex):
177         (WebCore::ContextMenu::platformDescription):
178         * platform/chromium/ContextMenuItemChromium.cpp:
179         (WebCore::ContextMenuItem::ContextMenuItem):
180         (WebCore::ContextMenuItem::releasePlatformDescription):
181         (WebCore::ContextMenuItem::type):
182         (WebCore::ContextMenuItem::action):
183         (WebCore::ContextMenuItem::title):
184         (WebCore::ContextMenuItem::checked):
185         (WebCore::ContextMenuItem::enabled):
186         (WebCore::ContextMenuItem::setType):
187         (WebCore::ContextMenuItem::setAction):
188         (WebCore::ContextMenuItem::setTitle):
189         (WebCore::ContextMenuItem::setChecked):
190         (WebCore::ContextMenuItem::setEnabled):
191
192 2009-12-08  Adam Langley  <agl@google.com>
193
194         Reviewed by Dimitri Glazkov.
195
196         Chromium Linux: set default scrollbar colours.
197
198         This is so that layout tests have sane defaults for the scrollbar
199         colours, even if the API user doesn't set any.
200
201         This is a fix due to r51827.
202
203         https://bugs.webkit.org/show_bug.cgi?id=32287
204
205         This is very well covered by existing layout tests.
206
207         * rendering/RenderThemeChromiumLinux.cpp:
208
209 2009-12-08  Beth Dakin  <bdakin@apple.com>
210
211         Reviewed by Sam Weinig.
212
213         Fix for <rdar://problem/7397808> Crash occurs at 
214         RenderObject::containingBlock() as I type in the Google Search 
215         field (during page load)
216
217         * editing/Editor.cpp:
218         (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be 
219         null checked.
220
221 2009-12-08  Dmitry Titov  <dimich@chromium.org>
222
223         Reviewed by Darin Adler.
224
225         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
226         https://bugs.webkit.org/show_bug.cgi?id=31639
227
228         * loader/icon/IconRecord.cpp:
229         (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase.
230         * platform/SharedBuffer.cpp:
231         (WebCore::SharedBuffer::SharedBuffer): Ditto.
232         * platform/text/StringImpl.cpp:
233         (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString.
234         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
235
236 2009-12-08  John Gregg  <johnnyg@google.com>
237
238         Reviewed by Adam Barth.
239
240         Inform the NotificationCenter when its window goes away in the same
241         manner as other DOMWindow fields, and prevent invalid operations on
242         it after that happens.
243
244         As part of this, change the V8 bindings for notifications to call
245         through the NotificationCenter rather than doing those operations
246         itself.
247
248         https://bugs.webkit.org/show_bug.cgi?id=31886
249
250         Test: fast/notifications/notification-after-close.html
251
252         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
253         (WebCore::CALLBACK_FUNC_DECL):
254         * notifications/Notification.cpp:
255         (WebCore::Notification::Notification):
256         * notifications/NotificationCenter.cpp:
257         (WebCore::NotificationCenter::checkPermission):
258         (WebCore::NotificationCenter::requestPermission):
259         * notifications/NotificationCenter.h:
260         (WebCore::NotificationCenter::createHTMLNotification):
261         (WebCore::NotificationCenter::createNotification):
262         (WebCore::NotificationCenter::disconnectFrame):
263         * page/DOMWindow.cpp:
264         (WebCore::DOMWindow::clear):
265
266 2009-12-08  Dan Bernstein  <mitz@apple.com>
267
268         Reviewed by John Sullivan.
269
270         Fixed block selection gap repainting in table cells
271
272         Test: fast/repaint/block-selection-gap-in-table-cell.html
273
274         This recently-introduced regression exposed the fact that
275         RenderTableCell did not override offsetFromContainer() to adjust for
276         the fact that table cells’ coordinates are relative to the table
277         section, not the table row. With this fixed, RenderTableCell no longer
278         needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(),
279         since the base class implementations of those use offsetFromContainer().
280
281         * rendering/RenderTableCell.cpp:
282         (WebCore::RenderTableCell::offsetFromContainer):
283         * rendering/RenderTableCell.h:
284
285 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
286
287         Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben.
288
289         * WebCorePrefix.h:
290
291 2009-12-08  Dan Bernstein  <mitz@apple.com>
292
293         Build fix
294
295         * loader/loader.cpp:
296         (WebCore::cachedResourceTypeToTargetType):
297
298 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
299
300         Not reviewed. Touch svgtags.in to eventually fix the win debug build.
301
302         * svg/svgtags.in:
303
304 2009-12-08  Mike Belshe  <mike@belshe.com>
305
306         Reviewed by Darin Fisher.
307
308         https://bugs.webkit.org/show_bug.cgi?id=32167
309         Update the ResourceRequest::RequestType.  This previously
310         was specific to Chromium.  Moved into ResourceRequestBase, enabling
311         more specificity about the type (which is otherwise only known to the
312         loader), and also making this information available to all platforms.
313         Any platform with a network layer which can utilize this information
314         may want to use it for prioritization.
315
316         Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource.
317
318         * loader/loader.cpp:
319         (WebCore::Loader::Loader):
320         (WebCore::CachedResourceTypeToTargetType):
321         (WebCore::Loader::Host::servePendingRequests):
322         * platform/network/ResourceRequestBase.h:
323         (WebCore::ResourceRequestBase::):
324         (WebCore::ResourceRequestBase::targetType):
325         (WebCore::ResourceRequestBase::setTargetType):
326         (WebCore::ResourceRequestBase::ResourceRequestBase):
327         * platform/network/chromium/ResourceRequest.h:
328         (WebCore::ResourceRequest::ResourceRequest):
329
330 2009-12-08  Steve Block  <steveblock@google.com>
331
332         Reviewed by Adam Barth.
333
334         [Android] Adds Makefiles for Android port.
335         https://bugs.webkit.org/show_bug.cgi?id=31325
336
337         Build system change only. No tests possible.
338
339         * Android.derived.jscbindings.mk: Added.
340         * Android.derived.mk: Added.
341         * Android.jscbindings.mk: Added.
342         * Android.mk: Added.
343         * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
344
345 2009-12-08  Christian Dywan  <christian@twotoasts.de>
346
347         Reviewed by Xan Lopez.
348
349         * platform/network/soup/DNSSoup.cpp:
350         (WebCore::prefetchDNS): Conditionalize prefetching on
351         the libSoup version.
352
353 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
354
355         Rubber-stamped by Maciej Stachowiak.
356
357         Turn on (SVG) Filters for Win.
358         https://bugs.webkit.org/show_bug.cgi?id=32224
359
360         * WebCore.vcproj/WebCoreCommon.vsprops:
361         * WebCore.vcproj/build-generated-files.sh:
362         * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully.
363
364 2009-12-08  Carol Szabo  <carol.szabo@nokia.com>
365
366         Reviewed by Darin Adler.
367
368         CSS Counter Nesting still does not work according to the spec.
369         https://bugs.webkit.org/show_bug.cgi?id=31723
370
371         Test: fast/css/counters/nesting.html
372
373         * rendering/RenderCounter.cpp:
374         (WebCore::findPlaceForCounter):
375         Replaced the faulty counter insertion algorithm with one that works.
376
377 2009-12-08  John Sullivan  <sullivan@apple.com>
378
379         Add isAutofilled getter to match existing setter.
380
381         Reviewed by Ada Chan.
382
383         * bindings/objc/DOMHTML.mm:
384         (-[DOMHTMLInputElement _isAutofilled]):
385         Implemented new cover function.
386         
387         * bindings/objc/DOMPrivate.h:
388         Declared new cover function.
389
390 2009-12-08  Dominik Röttsches  <dominik.roettsches@access-company.com>
391
392         Reviewed by Gustavo Noronha Silva.
393
394         [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU)
395         https://bugs.webkit.org/show_bug.cgi?id=31469
396
397         Added a TextBreakIterator implementation based on GLib and pango,
398         which allows compiling WebCore without ICU.
399
400         * GNUmakefile.am:
401         * platform/text/gtk/TextBreakIteratorGtk.cpp: Added.
402         (WebCore::):
403         (WebCore::setUpIterator):
404         (WebCore::characterBreakIterator):
405         (WebCore::cursorMovementIterator):
406         (WebCore::wordBreakIterator):
407         (WebCore::lineBreakIterator):
408         (WebCore::sentenceBreakIterator):
409         (WebCore::textBreakFirst):
410         (WebCore::textBreakLast):
411         (WebCore::textBreakNext):
412         (WebCore::textBreakPrevious):
413         (WebCore::textBreakPreceding):
414         (WebCore::textBreakFollowing):
415         (WebCore::textBreakCurrent):
416         (WebCore::isTextBreak):
417
418 2009-12-08  Alexander Pavlov  <apavlov@chromium.org>
419
420         Reviewed by Pavel Feldman.
421
422         Change the way cookies are retrieved in the WebInspector frontend.
423
424         Moved the cookie filtering from the native code into the frontend so that
425         all cookies can be retrieved regardless of the associated domain
426         (required for certain audits to run.)
427         https://bugs.webkit.org/show_bug.cgi?id=32160
428
429         Test: inspector/cookie-resource-match.html
430
431         * inspector/InspectorBackend.cpp:
432         (WebCore::InspectorBackend::getCookies):
433         * inspector/InspectorBackend.h:
434         * inspector/InspectorBackend.idl:
435         * inspector/InspectorController.cpp:
436         (WebCore::InspectorController::getCookies):
437         * inspector/InspectorController.h:
438         * inspector/front-end/CookieItemsView.js:
439         (WebInspector.CookieItemsView.prototype.update.callback):
440         (WebInspector.CookieItemsView.prototype.update):
441         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
442         * inspector/front-end/DOMAgent.js:
443         (WebInspector.Cookies.getCookiesAsync):
444         (WebInspector.Cookies.cookieMatchesResourceURL):
445         (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
446         * inspector/front-end/Resource.js:
447         (WebInspector.Resource):
448         (WebInspector.Resource.prototype.get documentURL):
449         (WebInspector.Resource.prototype.set documentURL):
450         * inspector/front-end/inspector.js:
451         (WebInspector.addResource):
452
453 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
454
455         Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-)
456
457         * svg/svgtags.in:
458
459 2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
460
461         Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch.
462
463         * bindings/scripts/CodeGeneratorJS.pm:
464
465 2009-12-06  Pavel Feldman  <pfeldman@chromium.org>
466
467         Reviewed by Timothy Hatcher.
468
469         Web Inspector: provide custom context menu in the front-end window.
470
471         https://bugs.webkit.org/show_bug.cgi?id=32200
472
473         * English.lproj/localizedStrings.js:
474         * GNUmakefile.am:
475         * WebCore.gypi:
476         * WebCore.pro:
477         * WebCore.vcproj/WebCore.vcproj:
478         * WebCore.xcodeproj/project.pbxproj:
479         * bindings/js/JSInspectorFrontendHostCustom.cpp:
480         (WebCore::JSInspectorFrontendHost::showContextMenu):
481         * inspector/InspectorFrontend.cpp:
482         (WebCore::InspectorFrontend::contextMenuItemSelected):
483         (WebCore::InspectorFrontend::contextMenuCleared):
484         * inspector/InspectorFrontend.h:
485         * inspector/InspectorFrontendHost.cpp:
486         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
487         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
488         (WebCore::InspectorFrontendHost::showContextMenu):
489         (WebCore::InspectorFrontendHost::contextMenuItemSelected):
490         (WebCore::InspectorFrontendHost::contextMenuCleared):
491         * inspector/InspectorFrontendHost.h:
492         (WebCore::InspectorFrontendHost::MenuSelectionHandler::create):
493         (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler):
494         (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect):
495         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected):
496         (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared):
497         (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler):
498         * inspector/InspectorFrontendHost.idl:
499         * inspector/front-end/ContextMenu.js: Added.
500         * inspector/front-end/WebKit.qrc:
501         * inspector/front-end/inspector.html:
502         * inspector/front-end/inspector.js:
503         (WebInspector.loaded):
504         (WebInspector.documentContextMenu):
505         * page/ContextMenuController.cpp:
506         (WebCore::ContextMenuController::ContextMenuController):
507         (WebCore::ContextMenuController::clearContextMenu):
508         (WebCore::ContextMenuController::handleContextMenuEvent):
509         (WebCore::ContextMenuController::showContextMenu):
510         (WebCore::ContextMenuController::createContextMenu):
511         (WebCore::ContextMenuController::contextMenuItemSelected):
512         * page/ContextMenuController.h:
513         * page/ContextMenuSelectionHandler.h: Added.
514         (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler):
515         (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler):
516         * platform/ContextMenu.cpp:
517         (WebCore::ContextMenu::checkOrEnableIfNeeded):
518         * platform/ContextMenuItem.h:
519
520 2009-12-08  Andras Becsi  <abecsi@inf.u-szeged.hu>
521
522         Rubber-stamped by Kenneth Rohde Christiansen.
523
524         [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters.
525
526         No new tests needed.
527         * WebCore.pro:
528
529 2009-12-07  Shinichiro Hamaji  <hamaji@chromium.org>
530
531         Reviewed by Darin Adler.
532
533         Add a function to show render tree for debugging
534         https://bugs.webkit.org/show_bug.cgi?id=31288
535
536         No new tests because this just adds a function for debugging.
537
538         * rendering/RenderObject.cpp:
539         (WebCore::RenderObject::showRenderObject):
540         (WebCore::RenderObject::showRenderTreeAndMark):
541         (showRenderTree):
542         * rendering/RenderObject.h:
543
544 2009-12-07  Victor Wang  <victorw@chromium.org>
545
546         Reviewed by Dimitri Glazkov.
547
548         Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
549         V8 NPObject. This should make the object enumerable and fix the
550         enumeration issue in layout test plugins/netscape-enumerate.html.
551
552         Also fix some existing style issues per webkit style guidelines.
553
554         https://bugs.webkit.org/show_bug.cgi?id=32254
555
556         Test: plugins/netscape-enumerate.html
557
558         * bindings/v8/V8NPObject.cpp:
559         (npObjectInvokeImpl):
560         (npObjectInvokeDefaultHandler):
561         (npObjectGetProperty):
562         (npObjectPropertyEnumerator):
563         (npObjectNamedPropertyEnumerator):
564         (npObjectIndexedPropertyEnumerator):
565         (createV8ObjectForNPObject):
566
567 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
568
569         Reviewed by Alexey Proskuryakov.
570
571         Fragments now make WebSocket URL parsing fail.
572         https://bugs.webkit.org/show_bug.cgi?id=32144
573
574         * websockets/WebSocket.cpp:
575         (WebCore::WebSocket::connect):
576
577 2009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
578
579         Reviewed by Darin Adler.
580
581         Fix wrong length parsing in WebSocket.
582         https://bugs.webkit.org/show_bug.cgi?id=32203
583
584         * websockets/WebSocketChannel.cpp:
585         (WebCore::WebSocketChannel::didReceiveData):
586
587 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
588
589         Rubber-stamped by Maciej Stachowiak.
590
591         Turn on (SVG) Filters for Qt.
592         https://bugs.webkit.org/show_bug.cgi?id=32224
593
594         * WebCore.pro:
595
596 2009-12-07  Evan Martin  <evan@chromium.org>
597
598         Reviewed by Eric Seidel.
599
600         Chromium: theme scrollbars to match GTK theme.
601         Add functions to RenderThemeChromiumLinux to change the scrollbar
602         color.
603
604         Since the change is to the Chromium WebKit API layer, testing will
605         be in Chromium's test shell.
606         http://bugs.webkit.org/show_bug.cgi?id=32048
607
608         Patch from Markus Gutschke <markus@chromium.org>.
609
610         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
611         (WebCore::saturateAndBrighten):
612         (WebCore::outlineColor):
613         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
614         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
615         * rendering/RenderThemeChromiumLinux.cpp:
616         (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
617         * rendering/RenderThemeChromiumLinux.h:
618         (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
619         (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
620         (WebCore::RenderThemeChromiumLinux::trackColor):
621
622 2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
623
624         Reviewed by Xan Lopez.
625
626         [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
627         https://bugs.webkit.org/show_bug.cgi?id=32247
628
629         Allow creating a ResourceResponse from a SoupMessage.
630
631         Covered by API test.
632
633         * platform/network/soup/ResourceResponse.h:
634         (WebCore::ResourceResponse::ResourceResponse):
635         * platform/network/soup/ResourceResponseSoup.cpp:
636         (WebCore::ResourceResponse::updateFromSoupMessage):
637
638 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
639
640         Not reviewed. Reverting problematic patch, causing errors.
641
642         Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
643         Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
644
645         * svg/graphics/SVGPaintServerPattern.cpp:
646         (WebCore::SVGPaintServerPattern::setup):
647
648 2009-12-07  Kent Tamura  <tkent@chromium.org>
649
650         Reviewed by Darin Adler.
651
652         Add support for HTMLInputElement::stepUp() and stepDown() for
653         type=number and type=range.
654         https://bugs.webkit.org/show_bug.cgi?id=27451
655
656         Our implementation of stepUp() and stepDown() rounds the resultant
657         value to conform to the step value.
658         Change the number-string conversion method for RenderSlider to be
659         consistent with type=number.
660
661         Tests: fast/forms/input-step-number.html
662                fast/forms/input-step-range.html
663                fast/forms/input-step-unsupported.html
664
665         * html/HTMLInputElement.cpp:
666         (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
667         (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
668         (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
669         (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
670         (WebCore::HTMLInputElement::stepBase):
671         (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
672         (WebCore::HTMLInputElement::applyStepForNumberOrRange):
673         (WebCore::HTMLInputElement::stepUp):
674         (WebCore::HTMLInputElement::stepDown):
675         (WebCore::HTMLInputElement::formStringFromDouble):
676         * html/HTMLInputElement.h:
677         (WebCore::HTMLInputElement::stepUp):
678         (WebCore::HTMLInputElement::stepDown):
679         * html/HTMLInputElement.idl: Add stepUp() and stepDown().
680         * rendering/RenderSlider.cpp:
681         (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
682         (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
683         (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
684
685 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
686
687         Not reviewed: Chromium build fix try 2 (dumb error).
688
689         * bindings/v8/ScriptValue.h:
690         (WebCore::ScriptValue::getString):
691
692 2009-12-07  Albert J. Wong  <ajwong@chromium.org>
693
694         Not reviewed: Chromium build fix.
695
696         Fix Chromium build break caused by an added dependency from
697         ScriptControllerBase to JSDOMWindowShell, and an API change in
698         ScriptValue.
699
700         * bindings/ScriptControllerBase.cpp:
701         (WebCore::ScriptController::executeIfJavaScriptURL):
702         * bindings/v8/ScriptValue.h:
703         (WebCore::ScriptValue::getString):
704
705 2009-12-07  Enrica Casucci  <enrica@apple.com>
706
707         Reviewed by Darin Adler.
708
709         REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
710         <rdar://problem/7442387>
711         https://bugs.webkit.org/show_bug.cgi?id=32233
712         
713         Fixes problem in re-creating the correct hierarchy under the new block.
714         Added extensive testing to cover all the cases.
715
716         Test: editing/execCommand/indent-with-style2.html
717
718         * editing/CompositeEditCommand.cpp:
719         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
720
721 2009-12-07  Dmitry Titov  <dimich@chromium.org>
722
723         Rubber-stamped by Darin Adler.
724
725         Remove ENABLE_SHARED_SCRIPT flags
726         https://bugs.webkit.org/show_bug.cgi?id=32245
727         This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
728
729         * Configurations/FeatureDefines.xcconfig:
730         * GNUmakefile.am:
731         * WebCore.pro:
732
733 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
734
735         Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
736
737         * bindings/scripts/CodeGeneratorJS.pm:
738
739 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
740
741         Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
742
743         * svg/svgtags.in:
744
745 2009-12-07  Gavin Barraclough  <barraclough@apple.com>
746
747         Reviewed by Oliver Hunt.
748
749         https://bugs.webkit.org/show_bug.cgi?id=32184
750         Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
751         Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
752
753         * bindings/ScriptControllerBase.cpp:
754         (WebCore::ScriptController::executeIfJavaScriptURL):
755         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
756         (WebCore::toHTMLCanvasStyle):
757         (WebCore::JSCanvasRenderingContext2D::setFillColor):
758         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
759         (WebCore::JSCanvasRenderingContext2D::setShadow):
760         * bindings/js/ScriptCallStack.cpp:
761         (WebCore::ScriptCallStack::ScriptCallStack):
762         (WebCore::ScriptCallStack::initialize):
763         * bindings/js/ScriptValue.cpp:
764         (WebCore::ScriptValue::getString):
765         * bindings/js/ScriptValue.h:
766         * bindings/js/SerializedScriptValue.cpp:
767         (WebCore::SerializingTreeWalker::convertIfTerminal):
768         * bindings/objc/WebScriptObject.mm:
769         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
770         * page/Console.cpp:
771         (WebCore::Console::addMessage):
772
773 2009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
774
775         Reviewed by Holger Hans Peter Freyther.
776
777         Turn on (SVG) Filters support, by default.
778         https://bugs.webkit.org/show_bug.cgi?id=32224
779
780         Only enable filters on mac for now, skipped all affected tests on the other platforms.
781         Will enable them one after another, to minimize breakage.
782
783         * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
784
785 2009-12-07  Kent Tamura  <tkent@chromium.org>
786
787         Reviewed by Darin Adler.
788
789         Fix a bug that KURL rejects a host name which has an IPv4 address
790         inside an IPv6 form like [::127.0.0.1].
791         https://bugs.webkit.org/show_bug.cgi?id=29913
792
793         * platform/KURL.cpp:
794         (WebCore::characterClassTable): Add IPv6Char to '.'.
795
796 2009-12-07  Brady Eidson  <beidson@apple.com>
797
798         Reviewed by Sam Weinig.
799
800         <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
801
802         The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
803         BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
804
805         * history/HistoryItem.cpp:
806         (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
807           outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
808         (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
809           about the original items m_cachedPage object (which is irrelevant to the copy).
810
811 2009-12-07  Dmitry Titov  <dimich@chromium.org>
812
813         Reviewed by Darin Adler.
814
815         Remove partial SharedScript implementation.
816         https://bugs.webkit.org/show_bug.cgi?id=32237
817         The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
818
819         * DerivedSources.make:
820         * SharedScript/SharedScriptContext.cpp: Removed.
821         * SharedScript/SharedScriptContext.h: Removed.
822         * SharedScript/SharedScriptContext.idl: Removed.
823         * SharedScript/SharedScriptController.h: Removed.
824         * SharedScript/WebKitSharedScript.cpp: Removed.
825         * SharedScript/WebKitSharedScript.h: Removed.
826         * SharedScript/WebKitSharedScript.idl: Removed.
827         * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
828         * SharedScript/WebKitSharedScriptRepository.h: Removed.
829         * WebCore.vcproj/WebCore.vcproj:
830         * WebCore.xcodeproj/project.pbxproj:
831         * dom/Document.cpp:
832         (WebCore::Document::detach):
833         * dom/EventTarget.cpp:
834         * dom/EventTarget.h:
835         * dom/ScriptExecutionContext.h:
836
837 2009-12-07  Alexey Proskuryakov  <ap@apple.com>
838
839         Reviewed by Nikolas Zimmermann.
840
841         https://bugs.webkit.org/show_bug.cgi?id=32226
842         Random crashes in WebSocket tests on Leopard Debug builbot
843
844         * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
845         Make sure the object still exists when setting m_state.
846
847 2009-12-07  Shiki Okasaka  <shiki@google.com>
848
849         Reviewed by Dirk Schulze.
850
851         Avoid zero division during SVGPaintServerPattern::setup()
852         https://bugs.webkit.org/show_bug.cgi?id=29912
853
854         Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
855         if the tile of a pattern was bigger than the pattern and the pattern
856         size was < 0.5, and if the attribute overflow was set to visible.
857
858         Test: svg/custom/small-pattern.html
859
860         * svg/graphics/SVGPaintServerPattern.cpp:
861         (WebCore::SVGPaintServerPattern::setup):
862
863 2009-12-07  Kenneth Russell  <kbr@google.com>
864
865         Reviewed by Dimitri Glazkov.
866
867         [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
868         https://bugs.webkit.org/show_bug.cgi?id=31889
869
870         Fixed bug in handling of zero-argument constructor call.
871
872         Test: fast/canvas/webgl/bug-31889.html
873
874         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
875         (WebCore::CALLBACK_FUNC_DECL):
876
877 2009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
878
879         Reviewed by Eric Seidel.
880
881         https://bugs.webkit.org/show_bug.cgi?id=32024
882         [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
883
884         Fix build errors when javascript-debugger is disabled on GTK
885
886         * GNUmakefile.am:
887
888 2009-12-07  Dan Bernstein  <mitz@apple.com>
889
890         Reviewed by Darin Adler.
891
892         Fixed <rdar://problem/7437820> Weird selection artifacts
893
894         Tests: fast/repaint/block-selection-gap-stale-cache-2.html
895                fast/repaint/block-selection-gap-stale-cache.html
896
897         Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
898         time, cache them in each RenderLayer at paint time. This prevents the cache from getting
899         stale due to layout changes and overflow scrolling.
900
901         * rendering/RenderBlock.cpp:
902         (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
903         (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
904         * rendering/RenderLayer.cpp:
905         (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
906         bounds to include the given rect.
907         (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
908         selection gaps bounds.
909         (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
910         selection gaps bounds.
911         * rendering/RenderLayer.h:
912         * rendering/RenderView.cpp:
913         (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
914         of the view-level cache.
915         (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
916         * rendering/RenderView.h:
917
918 2009-12-07  Philippe Normand  <pnormand@igalia.com>
919
920         Reviewed by Gustavo Noronha.
921
922         Fixed whitelist comment and removed useless (tags, sdp) mimetypes
923         from it. Also, GStreamer doesn't handle directly SMIL.
924
925         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
926         (WebCore::mimeTypeCache):
927
928 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
929
930         Reviewed by Xan Lopez.
931
932         https://bugs.webkit.org/show_bug.cgi?id=25415
933         [GTK][ATK] Please implement support for get_text_at_offset
934
935         Eliminate the segfaults which occur when accessing the text interface now
936         implemented by text controls.
937
938         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
939         (getPangoLayoutForAtk):
940
941 2009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
942
943         Reviewed by Xan Lopez.
944
945         Turn the MediaPlayer supported types blacklist into a whitelist
946
947         [GTK] REGRESSION: webkit thinks it can render PDFs
948         https://bugs.webkit.org/show_bug.cgi?id=32183
949
950         Covered by API test.
951
952         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
953         (WebCore::mimeTypeCache):
954
955 2009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
956
957         Reviewed by Xan Lopez.
958
959         https://bugs.webkit.org/show_bug.cgi?id=25524
960         [Gtk] Expose the title attribute to assistive technologies
961
962         Expose 'alt' attribute from images as accessible name.
963         Expose the 'title' core HTML attribute as accessible description.
964         This is a modified version of the original fix submitted by Mario Sanchez Prada,
965         adjusted so that it doesn't impact other platforms.
966
967         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
968         (webkit_accessible_get_name):
969         (webkit_accessible_get_description):
970
971 2009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
972
973         Reviewed by Simon Hausmann.
974
975         [Qt] Fix support for generic font families
976
977         By not propagating the resolved font family in FontCacheQt and
978         only concidering the font description we ended up passing the
979         generic font families to Qt directly. Since most systems don't
980         have a mapping for these font families we ended up using the
981         default font in most cases.
982
983         * platform/graphics/qt/FontCacheQt.cpp:
984         * platform/graphics/qt/FontPlatformData.h:
985         * platform/graphics/qt/FontPlatformDataQt.cpp:
986
987 2009-12-06  Oliver Hunt  <oliver@apple.com>
988
989         Reviewed by Maciej Stachowiak.
990
991         Object.getOwnPropertyDescriptor() allows cross-frame access
992         https://bugs.webkit.org/show_bug.cgi?id=32119
993
994         Make all implementations of getOwnPropertyDescriptor that have
995         cross domain restrictions simply fail immediately on cross domain
996         access, rather than trying to mimic the behaviour of normal
997         property access.
998
999         Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
1000
1001         * bindings/js/JSDOMWindowCustom.cpp:
1002         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1003         * bindings/js/JSHistoryCustom.cpp:
1004         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
1005         * bindings/js/JSLocationCustom.cpp:
1006         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
1007         * bindings/scripts/CodeGeneratorJS.pm:
1008
1009 2009-12-07  Steve Block  <steveblock@google.com>
1010
1011         Reviewed by Adam Barth.
1012
1013         Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
1014         https://bugs.webkit.org/show_bug.cgi?id=32157
1015
1016         Build fix only, no new tests.
1017
1018         * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
1019         * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
1020         * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
1021         * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
1022         * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
1023         * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
1024         * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
1025         * bridge/jni/jsc: Added.
1026         * bridge/jni/jsc/jni_utility_private.cpp: Added.
1027         (JSC::Bindings::convertArrayInstanceToJavaArray):
1028         (JSC::Bindings::convertValueToJValue):
1029         * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
1030         * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
1031
1032 2009-12-06  Oliver Hunt  <oliver@apple.com>
1033
1034         Reviewed by Maciej Stachowiak.
1035
1036         texImage2D pixel junk for transparency
1037         https://bugs.webkit.org/show_bug.cgi?id=32188
1038
1039         Use kCGBlendModeCopy when drawing an image to the intermediate context
1040         used to create a GL texture.
1041
1042         No test as we don't currently have any mechanism to retrieve pixel data
1043         from the webgl context.
1044
1045         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1046         (WebCore::imageToTexture):
1047
1048 2009-12-03  Philippe Normand  <pnormand@igalia.com>
1049
1050         Reviewed by Gustavo Noronha.
1051
1052         Advertize audio/ogg correctly and refactored mime-type cache
1053         building.
1054
1055         [GTK] Recognize oga as audio/ogg
1056         https://bugs.webkit.org/show_bug.cgi?id=31990
1057
1058         Test: media/media-can-play-ogg.html
1059
1060         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1061         (WebCore::mimeTypeCache):
1062
1063 2009-12-05  Alexey Proskuryakov  <ap@apple.com>
1064
1065         Reviewed by Eric Seidel.
1066
1067         https://bugs.webkit.org/show_bug.cgi?id=32175
1068         REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
1069
1070         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1071         (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
1072         streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
1073         (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
1074
1075 2009-12-05  Adam Langley  <agl@google.com>
1076
1077         Reviewed by Adam Barth.
1078
1079         Check that a CSS format() argument is of a valid type.
1080
1081         https://bugs.webkit.org/show_bug.cgi?id=31815
1082         http://code.google.com/p/chromium/issues/detail?id=28582
1083
1084         Test: fast/css/url-format-non-string.html
1085
1086         * css/CSSParser.cpp:
1087         (WebCore::CSSParser::parseFontFaceSrc):
1088
1089 2009-12-04  Adam Langley  <agl@google.com>
1090
1091         Reviewed by Eric Seidel.
1092
1093         Chromium: make rounded borders heavier.
1094
1095         Skia draws its rounded corners differently from the other ports.
1096         Whereas they have anti-aliased clipping regions, Skia only has 1-bit
1097         regions. (Which is technically more correct, but somewhat unhelpful
1098         for us.) Instead, with Skia we use a layer and collect all the
1099         clipping paths in effect. When the state is popped, we paint
1100         transparency outside the clipping paths and merge the layer down.
1101
1102         This appears to cause rounded borders to look a little thin, which is
1103         addressed in this patch.
1104
1105         This is well covered by existing tests but will require new baselines
1106         in the Chromium tree.
1107
1108         https://bugs.webkit.org/show_bug.cgi?id=31778
1109
1110         * platform/graphics/skia/GraphicsContextSkia.cpp:
1111         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1112
1113 2009-12-04  Simon Fraser  <simon.fraser@apple.com>
1114
1115         Reviewed by Dan Bernstein.
1116
1117         <rdar://problem/7441571> Hardware-backed layers are skipped when printing
1118         
1119         When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
1120         paint. This also causes 3D transforms to be flattened to 2D.
1121
1122         Test: printing/compositing-layer-printing.html
1123
1124         * page/FrameView.cpp:
1125         (WebCore::FrameView::paintContents):
1126
1127 2009-12-04  Oliver Hunt  <oliver@apple.com>
1128
1129         Reviewed by Beth Dakin.
1130
1131         Fix up some issues in my SVGListTraits change from yesterday.
1132
1133         * svg/SVGListTraits.h:
1134         (WebCore::):
1135
1136 2009-12-04  Albert J. Wong  <ajwong@chromium.org>
1137
1138         Not reviewed: chromium build fix.
1139
1140         Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
1141         portAllowed() into KURL.h/KURL.cpp.  Cloning code.
1142
1143         * platform/KURLGoogle.cpp:
1144         (WebCore::isDefaultPortForProtocol):
1145         (WebCore::portAllowed):
1146
1147 2009-12-04  Pavel Feldman  <pfeldman@chromium.org>
1148
1149         Reviewed by Timothy Hatcher.
1150
1151         Web Inspector: Remove suppress highlight when restoring selected node.
1152
1153         https://bugs.webkit.org/show_bug.cgi?id=32152
1154
1155         * inspector/front-end/ElementsPanel.js:
1156         (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
1157         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
1158         (WebInspector.ElementsPanel.prototype.setDocument):
1159
1160 2009-12-04  Dirk Schulze  <krit@webkit.org>
1161
1162         Reviewed by Nikolas Zimmermann.
1163
1164         Gradient SVG animation demonstrates tearing at animation extremes
1165         https://bugs.webkit.org/show_bug.cgi?id=11929
1166
1167         The focalPoint of a radial gradient is temporarly substracted by
1168         the centralPoint, if the focalPoint is not in the radius of the
1169         gradient. This is needed to calculate a new postion of the focalPoint
1170         according to the specification. But the new focalPoint needs to be
1171         moved by the centralPoint after this calculation, which is not the case
1172         at the moment. This patch fixes this issue. It was also introduced a
1173         deviation of maximal 0.2% for Cairo to get around the fixed point numbers
1174         in Cairo.
1175
1176         W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
1177         of the new focalPoint caused wrong results for the last three tests.
1178
1179         Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
1180
1181         * svg/SVGRadialGradientElement.cpp:
1182         (WebCore::SVGRadialGradientElement::buildGradient):
1183
1184 2009-12-04  Anton Muhin  <antonm@chromium.org>
1185
1186         Reviewed by Dmitry Titov.
1187
1188         Do not use WebCore::String::String(const UChar*, int length) to convert
1189         short v8 strings.
1190
1191         Plus added string traits.
1192         https://bugs.webkit.org/show_bug.cgi?id=31415
1193
1194         * bindings/v8/V8Binding.cpp:
1195         (WebCore::):
1196         (WebCore::v8StringToWebCoreString):
1197
1198 2009-12-04  Chris Fleizach  <cfleizach@apple.com>
1199
1200         Reviewed by Darin Adler.
1201
1202         REGRESSION: AX: buttons now extremely repetitive
1203         https://bugs.webkit.org/show_bug.cgi?id=32164
1204
1205         Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
1206
1207         * accessibility/AccessibilityObject.h:
1208         (WebCore::AccessibilityObject::isButton):
1209         * accessibility/mac/AccessibilityObjectWrapper.mm:
1210         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1211
1212 2009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
1213
1214         Reviewed by Darin Adler.
1215
1216         Check whether the right side of a string append is non-empty
1217         https://bugs.webkit.org/show_bug.cgi?id=32151
1218
1219         Especially beneficial for CachedScript::script() method
1220         which usually appends an empty string returned by flush()
1221         to its m_script member. m_script is often hundreds of kbytes
1222         which is duplated without reason.
1223
1224         * platform/text/String.cpp:
1225         (WebCore::String::append):
1226
1227 2009-12-04  Enrica Casucci  <enrica@apple.com>
1228
1229         Reviewed by John Sullivan.
1230
1231         Mail.app crashes when indenting table pasted from Numbers.app.
1232         <rdar://problem/7209507>
1233         https://bugs.webkit.org/show_bug.cgi?id=32166
1234
1235         Test: LayoutTests/editing/execCommand/indent-partial-table.html
1236         
1237         * editing/IndentOutdentCommand.cpp:
1238         (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
1239         after the selection has not been moved.
1240
1241 2009-12-04  Alexey Proskuryakov  <ap@apple.com>
1242
1243         Reviewed by Darin Adler.
1244
1245         https://bugs.webkit.org/show_bug.cgi?id=32085
1246         WebSocket should block the same ports that are blocked for resource loading
1247
1248         Test: websocket/tests/url-parsing.html
1249
1250         * page/SecurityOrigin.cpp:
1251         (WebCore::SecurityOrigin::SecurityOrigin):
1252         (WebCore::SecurityOrigin::localURLSchemes):
1253         * page/SecurityOrigin.h:
1254         Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
1255         is not even in WebCore/platform directory).
1256
1257         * html/HTMLAnchorElement.cpp:
1258         (WebCore::HTMLAnchorElement::host):
1259         (WebCore::HTMLAnchorElement::setHost):
1260         (WebCore::HTMLAnchorElement::setPort):
1261         Updated for the new location of isDefaultPortForProtocol().
1262
1263         * platform/KURL.cpp:
1264         (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
1265         since the function doesn't require lower case input.
1266         (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
1267         (WebCore::portAllowed): Moved from ResourceHandle.
1268         * platform/KURL.h:
1269
1270         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
1271         new location of portAllowed().
1272
1273         * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
1274         if trying to connect to a blocked port.
1275
1276 2009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
1277
1278         Reviewed by Kenneth Rohde Christiansen.
1279
1280         [Qt] WebKit crashes when loading certain SVG images
1281         https://bugs.webkit.org/show_bug.cgi?id=29443
1282
1283         Remove FontFallbackListQt and rely on the common FontFallbackList
1284         to handle the fonts. FontCache and FontPlatformData have been
1285         updated to work with the common FontFallbackList.
1286
1287         In the previous implementation, FontPlatformDataCacheKey
1288         was a clone of FontPlatformData with the hashing
1289         capabilities added in order to use it as a key in the cache's
1290         hashmap. FontPlatformData has been modified to handle the hashing
1291         function directly so the data are not copied twice in memory.
1292
1293         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
1294         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
1295         The behavior is similar except currFamily->family().length() was
1296         not tested and the fallback fonts selector were not used.
1297
1298         Existing tests cover the change.
1299
1300         * WebCore.pro:
1301         * platform/graphics/qt/FontCacheQt.cpp:
1302         (WebCore::FontCache::platformInit):
1303         (WebCore::FontCache::getFontDataForCharacters):
1304         (WebCore::FontCache::getSimilarFontPlatformData):
1305         (WebCore::FontCache::getLastResortFallbackFont):
1306         (WebCore::FontCache::getTraitsInFamily):
1307         (WebCore::FontCache::createFontPlatformData):
1308         * platform/graphics/qt/FontCustomPlatformData.cpp:
1309         (WebCore::FontCustomPlatformData::fontPlatformData):
1310         * platform/graphics/qt/FontFallbackListQt.cpp:
1311         Removed. We now use the implementation from FontFallbackList.cpp
1312         * platform/graphics/qt/FontPlatformData.h:
1313         Add hashing capabilities to be able to use the data with the FontCache.
1314         This was previously done in FontCacheQt.cpp
1315         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
1316         (WebCore::FontPlatformData::FontPlatformData):
1317         (WebCore::FontPlatformData::isHashTableDeletedValue):
1318         (WebCore::FontPlatformData::font):
1319         (WebCore::FontPlatformData::size):
1320         (WebCore::FontPlatformData::family):
1321         (WebCore::FontPlatformData::bold):
1322         (WebCore::FontPlatformData::italic):
1323         (WebCore::FontPlatformData::smallCaps):
1324         (WebCore::FontPlatformData::pixelSize):
1325         * platform/graphics/qt/FontPlatformDataQt.cpp:
1326         (WebCore::FontPlatformData::FontPlatformData):
1327         (WebCore::FontPlatformData::~FontPlatformData):
1328         (WebCore::FontPlatformData::operator=):
1329         (WebCore::FontPlatformData::operator==):
1330         (WebCore::FontPlatformData::hash):
1331
1332 2009-12-04  Adam Treat  <atreat@rim.com>
1333
1334         Reviewed by Dan Bernstein.
1335
1336         Fix wrong assert that was only working through sheer luck.
1337         https://bugs.webkit.org/show_bug.cgi?id=32162
1338
1339         * platform/text/BidiContext.cpp:
1340         (WebCore::BidiContext::create):
1341
1342 2009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1343
1344         Reviewed by Simon Hausmann.
1345
1346         [Qt] Allow removing 'qrc' as a local security origin scheme
1347
1348         * page/SecurityOrigin.cpp:
1349
1350 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
1351
1352         Reviewed by Eric Seidel.
1353
1354         Allow custom memory allocation control for WebCore's CollectionCache
1355         https://bugs.webkit.org/show_bug.cgi?id=32109
1356
1357         Inherits the following class from FastAllocBase because it is
1358         instantiated by 'new':
1359
1360         struct name            - instantiated at: WebCore/'location'
1361
1362         struct CollectionCache - dom/Document.cpp:4029
1363
1364         * html/CollectionCache.h:
1365
1366 2009-12-04  Steve Block  <steveblock@google.com>
1367
1368         Reviewed by Darin Adler.
1369
1370         Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
1371         https://bugs.webkit.org/show_bug.cgi?id=32111
1372
1373         In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
1374         fatal error was registered on this GeoNotifier or if this request has timed
1375         out. If the request is a watch, and is cleared by a call to clearWatch in the
1376         callback, the GeoNotifier object will be destroyed. We must therefore cache the
1377         m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
1378         Geolocation::requestTimedOut.
1379
1380         Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
1381                fast/dom/Geolocation/timeout-clear-watch.html
1382
1383         * page/Geolocation.cpp: Modified.
1384         (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
1385
1386 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
1387
1388         Reviewed by Eric Seidel.
1389
1390         Allow custom memory allocation control for 2 classes of the platform directory in WebCore
1391         https://bugs.webkit.org/show_bug.cgi?id=
1392
1393         Inherits the following class from Noncopyable because it is instantiated
1394         by 'new' and no need to be copyable:
1395
1396         class/struct name         - instantiated at: WebCore/'location'
1397
1398         class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
1399
1400         Inherits the following class from FastAllocBase because it is
1401         instantiated by 'new':
1402
1403         class TransformOperations - rendering/style/RenderStyle.h:1175
1404
1405         Noncopyable.h's include added to SharedTimer.h.
1406
1407         * platform/SharedTimer.h:
1408         * platform/graphics/transforms/TransformOperations.h:
1409
1410 2009-12-04  Xan Lopez  <xlopez@igalia.com>
1411
1412         Reviewed by Gustavo Noronha.
1413
1414         [GTK]Enable DNS prefetching
1415         https://bugs.webkit.org/show_bug.cgi?id=23846
1416
1417         Enable DNS prefetching.
1418
1419         Based on a patch by José Millán.
1420
1421         * platform/network/soup/DNSSoup.cpp:
1422         (WebCore::prefetchDNS):
1423
1424 2009-12-04  Zoltan Horvath  <zoltan@webkit.org>
1425
1426         Reviewed by Eric Seidel.
1427
1428         Allow custom memory allocation control for the svg directory in WebCore
1429         https://bugs.webkit.org/show_bug.cgi?id=
1430
1431         Inherits the following classes from Noncopyable because these are instantiated
1432         by 'new' and no need to be copyable:
1433
1434         class/struct name           - instantiated at: WebCore/'location'
1435
1436         struct ResourceSet          - svg/graphics/SVGResource.cpp:148
1437         class SVGFontData           - css/CSSFontFaceSource.cpp:156
1438         class SVGDocumentExtensions - dom/Document.cpp:3962
1439         class SVGViewSpec           - svg/SVGSVGElement.cpp:191
1440
1441         * svg/SVGDocumentExtensions.h:
1442         * svg/SVGFontData.h:
1443         * svg/SVGViewSpec.h:
1444         * svg/graphics/SVGResource.cpp:
1445
1446 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1447
1448         Reviewed by Beth Dakin.
1449
1450         WAI-ARIA: aria-activedescendant doesn't work as intended
1451         https://bugs.webkit.org/show_bug.cgi?id=32100
1452
1453         Fixes a number of issues regarding the "tree" role and aria-activedescendant.
1454         1. The indexes were being reported incorrectly by treeitems.
1455         2. aria-activedescendant changes were not being sent to the containing item.
1456         3. The tree's selected rows need to consult aria-activedescendant.
1457         4. Since a tree changes what it returns as its children (it returns its rows)
1458            the mac-specific array indexing methods need to correctly handle the tree case.
1459
1460         Tests: platform/mac/accessibility/aria-tree-activedescendant.html
1461                platform/mac/accessibility/aria-tree-index-of-items.html
1462
1463         * accessibility/AXObjectCache.h:
1464         (WebCore::AXObjectCache::):
1465         * accessibility/AccessibilityRenderObject.cpp:
1466         (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
1467         (WebCore::AccessibilityRenderObject::activeDescendant):
1468         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
1469         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
1470         * accessibility/mac/AXObjectCacheMac.mm:
1471         (WebCore::AXObjectCache::postPlatformNotification):
1472         * accessibility/mac/AccessibilityObjectWrapper.mm:
1473         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1474         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1475         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1476         * accessibility/win/AXObjectCacheWin.cpp:
1477         (WebCore::AXObjectCache::postPlatformNotification):
1478
1479 2009-12-03  Zoltan Horvath  <zoltan@webkit.org>
1480
1481         Reviewed by Eric Seidel.
1482
1483         Allow custom memory allocation control for the xml directory in WebCore
1484         https://bugs.webkit.org/show_bug.cgi?id=
1485
1486         Inherits the following class from Noncopyable because it is instantiated 
1487         by 'new' and no need to be copyable:
1488
1489         class/struct name               - instantiated at: WebCore/'location'
1490
1491         struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
1492
1493         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
1494
1495         class NodeTest                  - xml/XPathGrammar.y:258
1496         class NodeSet                   - xml/XPathValue.cpp:52
1497         struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
1498
1499         * xml/XMLHttpRequest.cpp:
1500         * xml/XPathExpressionNode.h:
1501         * xml/XPathNodeSet.h:
1502         * xml/XPathStep.h:
1503
1504 2009-12-03  Drew Wilson  <atwilson@chromium.org>
1505
1506         Reviewed by Adam Barth.
1507
1508         New History changes do not compile for Chromium/V8
1509         https://bugs.webkit.org/show_bug.cgi?id=32148
1510
1511         Existing tests suffice (just trying to get code to compile).
1512
1513         * WebCore.gypi:
1514         Added V8HistoryCustom.cpp and other missing files.
1515         * bindings/v8/custom/V8CustomBinding.h:
1516         Added custom handlers for History.pushState()/replaceState().
1517         * bindings/v8/custom/V8HistoryCustom.cpp: Added.
1518         Added custom handlers for History.pushState()/replaceState().
1519         * history/BackForwardListChromium.cpp:
1520         (WebCore::BackForwardList::pushStateItem):
1521         Stubbed out this routine for now - will implement in the future.
1522
1523 2009-12-03  Adam Barth  <abarth@webkit.org>
1524
1525         Reviewed by Eric Seidel.
1526
1527         OwnPtr<XBLBindingManager> Document::m_bindingManager;
1528         https://bugs.webkit.org/show_bug.cgi?id=32147
1529
1530         The document actually owns the bindingManager.  That's what the code
1531         should say.
1532
1533         * dom/Document.cpp:
1534         (WebCore::Document::~Document):
1535         * dom/Document.h:
1536         (WebCore::Document::bindingManager):
1537
1538 2009-12-03  Adam Barth  <abarth@webkit.org>
1539
1540         Reviewed by Eric Seidel.
1541
1542         OwnPtr<Tokenizer> Document::m_tokenizer;
1543         https://bugs.webkit.org/show_bug.cgi?id=32145
1544
1545         The document actually owns the tokenizer.  That's what the code should say.
1546
1547         * dom/Document.cpp:
1548         (WebCore::Document::removedLastRef):
1549         (WebCore::Document::~Document):
1550         (WebCore::Document::cancelParsing):
1551         (WebCore::Document::implicitOpen):
1552         (WebCore::Document::implicitClose):
1553         * dom/Document.h:
1554         (WebCore::Document::tokenizer):
1555
1556 2009-12-03  Adam Barth  <abarth@webkit.org>
1557
1558         Reviewed by Eric Seidel.
1559
1560         OwnPtr<RenderArena> Document::m_renderArena;
1561         https://bugs.webkit.org/show_bug.cgi?id=32146
1562
1563         The document owns the renderArena.  That's what the code should say.
1564
1565         * dom/Document.cpp:
1566         (WebCore::Document::Document): Also, removed a redundant initialization
1567         of the tokenizer that I missed in my previous patch.
1568         (WebCore::Document::~Document):
1569         (WebCore::Document::attach):
1570         (WebCore::Document::detach):
1571         * dom/Document.h:
1572         (WebCore::Document::renderArena):
1573
1574 2009-12-03  Drew Wilson  <atwilson@chromium.org>
1575
1576         Rolling back r51633 because it causes a chromium perf regression.
1577
1578         * platform/graphics/SimpleFontData.h:
1579         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1580
1581 2009-12-03  Adam Barth  <abarth@webkit.org>
1582
1583         Reviewed by Eric Seidel.
1584
1585         The code should say that Document owns DocLoader
1586         https://bugs.webkit.org/show_bug.cgi?id=32143
1587
1588         It's the truth.
1589
1590         * dom/Document.cpp:
1591         (WebCore::Document::~Document):
1592         * dom/Document.h:
1593         (WebCore::Document::docLoader):
1594
1595 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1596
1597         Reviewed by Eric Seidel.
1598
1599         AX: VO just says "term" on many web sites
1600         https://bugs.webkit.org/show_bug.cgi?id=32139
1601
1602         Test: platform/mac/accessibility/definition-list-term.html
1603
1604         * accessibility/AccessibilityRenderObject.cpp:
1605         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1606         * accessibility/mac/AccessibilityObjectWrapper.mm:
1607         (-[AccessibilityObjectWrapper subrole]):
1608         (-[AccessibilityObjectWrapper roleDescription]):
1609
1610 2009-12-03  Chris Fleizach  <cfleizach@apple.com>
1611
1612         Reviewed by Beth Dakin.
1613
1614         Implement WAI-ARIA scrollbar role and related property aria-orientation
1615         https://bugs.webkit.org/show_bug.cgi?id=32126
1616
1617         Test: accessibility/aria-scrollbar-role.html
1618
1619         * accessibility/AccessibilityObject.cpp:
1620         (WebCore::createARIARoleMap):
1621         * accessibility/AccessibilityObject.h:
1622         (WebCore::AccessibilityObject::isScrollbar):
1623         * accessibility/AccessibilityRenderObject.cpp:
1624         (WebCore::AccessibilityRenderObject::valueForRange):
1625         (WebCore::AccessibilityRenderObject::orientation):
1626         (WebCore::AccessibilityRenderObject::canHaveChildren):
1627         * accessibility/AccessibilityRenderObject.h:
1628         * accessibility/mac/AccessibilityObjectWrapper.mm:
1629         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1630         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1631         * html/HTMLAttributeNames.in:
1632
1633 2009-12-03  Dan Bernstein  <mitz@apple.com>
1634
1635         Reviewed by Darin Adler.
1636
1637         Fixed <rdar://problem/7401617> Selection painting issue in hardware-
1638         accelerated layers
1639         which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
1640         Fix selection painting to do container-relative repaints
1641
1642         Test: fast/repaint/block-selection-gap-in-composited-layer.html
1643
1644         * rendering/RenderBlock.cpp:
1645         (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
1646         gap rects in the coordinate space of the repaint container.
1647         * rendering/RenderLayerCompositor.cpp:
1648         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
1649         FIXME.
1650         * rendering/RenderView.cpp:
1651         (WebCore::RenderView::setSelection): Map block selection gap rects from
1652         the repaint container’s coordinate space to the view’s coordinate space
1653         before adding them to the cached selection bounds.
1654         (WebCore::RenderView::clearSelection): Changed to use
1655         repaintRectangleInViewAndCompositedLayers() so that the selection rect
1656         is invalidated in composited layers as well.
1657
1658 2009-12-03  Jonathan Dixon  <joth@chromium.org>
1659
1660         Reviewed by Dimitri Glazkov.
1661
1662         Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
1663         https://bugs.webkit.org/show_bug.cgi?id=32066
1664
1665         Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
1666         as it is intended as a development and testing aid, not a user control. To completely remove geolocation
1667         from a given port, the compile time ENABLE_GEOLOCATION should still be used.
1668         Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
1669         ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
1670         make that the default just yet.
1671
1672         * WebCore.gypi:
1673         * page/Settings.cpp:
1674         (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
1675         (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
1676         * page/Settings.h:
1677         (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
1678         * platform/chromium/GeolocationServiceChromium.cpp: Added.
1679         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
1680         (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
1681
1682 2009-12-03  Enrica Casucci  <enrica@apple.com>
1683
1684         Reviewed by John Sullivan.
1685
1686         SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
1687         <rdar://problem/7198592>
1688         https://bugs.webkit.org/show_bug.cgi?id=32129
1689
1690         Fixed the way the next paragraph is calculated.
1691         I've added a repro case in Safari and attached it to the Bugzilla bug.
1692
1693         * editing/Editor.cpp:
1694         (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
1695         next paragraph in the loop.
1696
1697 2009-12-03  Oliver Hunt  <oliver@apple.com>
1698
1699         Build fix
1700
1701         * svg/SVGListTraits.h:
1702         (WebCore::):
1703
1704 2009-12-03  Oliver Hunt  <oliver@apple.com>
1705
1706         Build fix
1707
1708         * svg/SVGListTraits.h:
1709         (WebCore::):
1710
1711 2009-12-03  Brady Eidson  <beidson@apple.com>
1712
1713         No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
1714
1715         Long live our auto-generated overlords that I didn't know about...  
1716
1717         * WebCore.base.exp:
1718
1719 2009-12-03  Oliver Hunt  <oliver@apple.com>
1720
1721         Reviewed by Dan Bernstein.
1722
1723         REGRESSION (r51627): 3 SVG tests are failing
1724         https://bugs.webkit.org/show_bug.cgi?id=32117
1725
1726         Null checking Items in the SVGList is insufficient as items may
1727         be floats, etc so add SVGListTraits::isNull and add appropriate
1728         specializations.
1729
1730         Test: svg/dom/svglist-exception-on-out-bounds-error.html
1731
1732         * svg/SVGList.h:
1733         (WebCore::SVGListTypeOperations::isNull):
1734         (WebCore::SVGList::initialize):
1735         (WebCore::SVGList::insertItemBefore):
1736         (WebCore::SVGList::replaceItem):
1737         (WebCore::SVGList::appendItem):
1738         * svg/SVGListTraits.h:
1739         (WebCore::):
1740
1741 2009-12-03  Brady Eidson  <beidson@apple.com>
1742
1743         No review - release build fix.
1744
1745         * history/HistoryItem.cpp:
1746         (WebCore::HistoryItem::documentDetached):
1747
1748 2009-12-03  Brady Eidson  <beidson@apple.com>
1749
1750         No review - release build fix.
1751
1752         * loader/HistoryController.cpp:
1753         (WebCore::HistoryController::pushState):
1754
1755 2009-12-03  Enrica Casucci  <enrica@apple.com>
1756
1757         Reviewed by Adele Peterson.
1758
1759         Multiple Undos removes the last posted comment and/or the ones before it.
1760         <rdar://problem/6557066>
1761         https://bugs.webkit.org/show_bug.cgi?id=32079
1762         
1763         The fix consists in preventing Undos and Redos to be applied to elements that
1764         are no longer editable. We do not attempt to remove the commands from the queue.
1765         It is a relatively simple fix that comes with a little extra overhead for the apply
1766         and unapply methods where we are now performing the editability check.
1767
1768         Test: editing/undo/undo-indent-noneditable.html
1769
1770         * editing/AppendNodeCommand.cpp:
1771         (WebCore::AppendNodeCommand::doApply):
1772         (WebCore::AppendNodeCommand::doUnapply):
1773         * editing/DeleteFromTextNodeCommand.cpp:
1774         (WebCore::DeleteFromTextNodeCommand::doApply):
1775         (WebCore::DeleteFromTextNodeCommand::doUnapply):
1776         * editing/InsertIntoTextNodeCommand.cpp:
1777         (WebCore::InsertIntoTextNodeCommand::doApply):
1778         (WebCore::InsertIntoTextNodeCommand::doUnapply):
1779         * editing/InsertNodeBeforeCommand.cpp:
1780         (WebCore::InsertNodeBeforeCommand::doApply):
1781         (WebCore::InsertNodeBeforeCommand::doUnapply):
1782         * editing/JoinTextNodesCommand.cpp:
1783         (WebCore::JoinTextNodesCommand::doApply):
1784         (WebCore::JoinTextNodesCommand::doUnapply):
1785         * editing/MergeIdenticalElementsCommand.cpp:
1786         (WebCore::MergeIdenticalElementsCommand::doApply):
1787         (WebCore::MergeIdenticalElementsCommand::doUnapply):
1788         * editing/RemoveNodeCommand.cpp:
1789         (WebCore::RemoveNodeCommand::doApply):
1790         (WebCore::RemoveNodeCommand::doUnapply):
1791         * editing/SplitElementCommand.cpp:
1792         (WebCore::SplitElementCommand::executeApply):
1793         (WebCore::SplitElementCommand::doUnapply):
1794         * editing/SplitTextNodeCommand.cpp:
1795         (WebCore::SplitTextNodeCommand::doApply):
1796         (WebCore::SplitTextNodeCommand::doUnapply):
1797         * editing/WrapContentsInDummySpanCommand.cpp:
1798         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
1799         (WebCore::WrapContentsInDummySpanCommand::doReapply):
1800
1801 2009-12-03  Brady Eidson  <beidson@apple.com>
1802
1803         Reviewed by Sam Weinig.
1804
1805         <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
1806
1807         Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
1808                fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
1809                fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
1810                fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
1811                fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
1812                fast/loader/stateobjects/pushstate-object-types.html
1813                fast/loader/stateobjects/pushstate-then-replacestate.html
1814                fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
1815                fast/loader/stateobjects/replacestate-then-pushstate.html
1816                http/tests/loading/state-object-security-exception.html
1817
1818         Derived sources and project file changes:
1819         * DerivedSources.cpp:
1820         * DerivedSources.make:
1821         * GNUmakefile.am
1822         * WebCore.pro
1823         * WebCore.vcproj/WebCore.vcproj:
1824         * WebCore.xcodeproj/project.pbxproj:
1825
1826         Add the new PopStateEvent:
1827         * dom/PopStateEvent.cpp: Added.
1828         (WebCore::PopStateEvent::PopStateEvent):
1829         (WebCore::PopStateEvent::initPopStateEvent):
1830         * dom/PopStateEvent.h: Added.
1831         (WebCore::PopStateEvent::create):
1832         (WebCore::PopStateEvent::isPopStateEvent):
1833         (WebCore::PopStateEvent::state):
1834         * dom/PopStateEvent.idl: Added.
1835         * bindings/js/JSPopStateEventCustom.cpp: Added.
1836         (WebCore::JSPopStateEvent::initPopStateEvent):
1837         (WebCore::JSPopStateEvent::state):
1838         * bindings/js/JSEventCustom.cpp:
1839         (WebCore::toJS):
1840         * dom/Event.cpp:
1841         (WebCore::Event::isPopStateEvent):
1842         * dom/Event.h:
1843         * dom/EventNames.h:
1844
1845         Add the "onpopstate" attribute:
1846         * html/HTMLAttributeNames.in:
1847         * html/HTMLBodyElement.cpp:
1848         (WebCore::HTMLBodyElement::parseMappedAttribute):
1849         * html/HTMLBodyElement.idl:
1850         * html/HTMLFrameSetElement.cpp:
1851         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1852         * html/HTMLFrameSetElement.h:
1853         * html/HTMLFrameSetElement.idl:
1854         * page/DOMWindow.h:
1855         * page/DOMWindow.idl:
1856
1857         Add pushState and replaceState management to the loader and history machinery:
1858         * bindings/js/JSHistoryCustom.cpp:
1859         (WebCore::JSHistory::pushState):
1860         (WebCore::JSHistory::replaceState):
1861         * loader/HistoryController.cpp:
1862         (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
1863           both the same-document fragment scroll case with the new same-document state object activation case.
1864         (WebCore::HistoryController::pushState):
1865         (WebCore::HistoryController::replaceState):
1866         * loader/HistoryController.h:
1867         * history/BackForwardList.cpp:
1868         (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
1869         (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
1870           list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
1871           meant to remain.
1872         (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
1873           insert the new item.
1874         (WebCore::BackForwardList::removeItem):
1875         * history/BackForwardList.h:
1876         * page/History.cpp:
1877         (WebCore::History::urlForState):
1878         (WebCore::History::stateObjectAdded):
1879         * page/History.h:
1880         * page/History.idl:
1881
1882         Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
1883         * history/HistoryItem.cpp:
1884         (WebCore::HistoryItem::HistoryItem):
1885         (WebCore::HistoryItem::~HistoryItem):
1886         (WebCore::HistoryItem::setStateObject):
1887         (WebCore::HistoryItem::setDocument):
1888         (WebCore::HistoryItem::documentDetached):
1889         * history/HistoryItem.h:
1890         (WebCore::HistoryItem::stateObject):
1891         (WebCore::HistoryItem::document):
1892         * dom/Document.cpp:
1893         (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
1894           is going away.
1895         (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
1896         (WebCore::Document::unregisterHistoryItem): Ditto.
1897         * dom/Document.h:
1898
1899         Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
1900         URL changes as the result of pushState(), replaceState(), or a popstate navigation:
1901         * dom/Document.cpp:
1902         (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
1903         (WebCore::Document::updateURLForPushOrReplaceState):
1904         (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
1905           the pending state object.
1906         * loader/DocumentLoader.cpp:
1907         (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
1908         * loader/DocumentLoader.h:
1909         * loader/FrameLoaderClient.h:
1910         * loader/EmptyClients.h:
1911         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
1912
1913         Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
1914         navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
1915         * loader/FrameLoader.cpp:
1916         (WebCore::FrameLoader::loadInSameDocument):
1917         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1918         (WebCore::FrameLoader::navigateWithinDocument):
1919         (WebCore::FrameLoader::navigateToDifferentDocument):
1920         (WebCore::FrameLoader::loadItem):
1921         * loader/FrameLoader.h:
1922         * page/Page.cpp:
1923         (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
1924
1925 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
1926
1927         Not reviewed: chromium build fix.
1928         r51621 changed JS bindings only, broke v8's.
1929
1930         * bindings/v8/ScriptFunctionCall.cpp:
1931         (WebCore::ScriptFunctionCall::appendArgument):
1932         * bindings/v8/ScriptFunctionCall.h:
1933
1934 2009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
1935
1936         Reviewed by Adam Barth.
1937
1938         [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
1939         https://bugs.webkit.org/show_bug.cgi?id=32094
1940
1941         Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
1942
1943         * bindings/v8/DOMObjectsInclude.h:
1944         * bindings/v8/V8DOMWrapper.cpp:
1945         (WebCore::V8DOMWrapper::getTemplate):
1946         (WebCore::V8DOMWrapper::convertToV8Object):
1947         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
1948         * bindings/v8/V8DOMWrapper.h:
1949         * bindings/v8/V8GCController.cpp:
1950         (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
1951         * bindings/v8/custom/V8CustomBinding.h:
1952
1953 2009-12-03  Pavel Feldman  <pfeldman@chromium.org>
1954
1955         Reviewed by Timothy Hatcher.
1956
1957         Chromium: Add support for settings containing ":"
1958
1959         https://bugs.webkit.org/show_bug.cgi?id=32118
1960
1961         * inspector/front-end/WatchExpressionsSidebarPane.js:
1962         (WebInspector.WatchExpressionsSection):
1963
1964 2009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
1965
1966         Reviewed by Simon Fraser.
1967
1968         repaint events from outside the viewport aren't received
1969         https://bugs.webkit.org/show_bug.cgi?id=32081
1970
1971         When using a tiled backing store for painting, you need to receive
1972         event from outside the viewport. Setting the viewport to the size
1973         of the contents is not an option if you want to make use of WebCore's
1974         infrastructure for drawing scrollbars etc.
1975
1976         A new property, paintsEntireContents, has been introduced for the
1977         above use-case. It is settable, as tiling will be optional for Qt,
1978         and for the not yet upstreamed EFL port, there will be two different
1979         views, where only one of them are tiled.
1980
1981         No change in behavior, so no new tests added.
1982
1983         * page/FrameView.cpp:
1984         (WebCore::FrameView::repaintContentRectangle):
1985         * platform/ScrollView.cpp:
1986         (WebCore::ScrollView::ScrollView):
1987         (WebCore::ScrollView::setPaintsEntireContents):
1988         (WebCore::ScrollView::wheelEvent):
1989         * platform/ScrollView.h:
1990         (WebCore::ScrollView::paintsEntireContents):
1991
1992 2009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
1993
1994         Reviewed by Eric Seidel.
1995
1996         Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
1997         https://bugs.webkit.org/show_bug.cgi?id=31802
1998
1999         No test since this is already covered by existing pixel tests.
2000
2001         * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
2002         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
2003         of Core Text functions that are public on 10.6 but SPI on 10.5.
2004
2005 2009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2006
2007         Reviewed by Timothy Hatcher.
2008
2009         Web Inspector: Simplify the settings support in inspector controller.
2010
2011         https://bugs.webkit.org/show_bug.cgi?id=32076
2012
2013         Test: inspector/settings-set-get.html
2014
2015         * WebCore.Inspector.exp:
2016         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2017         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2018         * inspector/InspectorClient.h:
2019         * inspector/InspectorController.cpp:
2020         (WebCore::InspectorController::~InspectorController):
2021         (WebCore::InspectorController::setting):
2022         (WebCore::InspectorController::setSetting):
2023         (WebCore::InspectorController::setWindowVisible):
2024         (WebCore::InspectorController::attachWindow):
2025         (WebCore::InspectorController::setAttachedWindowHeight):
2026         (WebCore::InspectorController::storeLastActivePanel):
2027         (WebCore::InspectorController::scriptObjectReady):
2028         (WebCore::InspectorController::showWindow):
2029         (WebCore::InspectorController::enableResourceTracking):
2030         (WebCore::InspectorController::disableResourceTracking):
2031         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
2032         (WebCore::InspectorController::enableProfiler):
2033         (WebCore::InspectorController::disableProfiler):
2034         (WebCore::InspectorController::enableDebuggerFromFrontend):
2035         (WebCore::InspectorController::disableDebugger):
2036         * inspector/InspectorController.h:
2037         * inspector/InspectorFrontendHost.cpp:
2038         (WebCore::InspectorFrontendHost::setting):
2039         (WebCore::InspectorFrontendHost::setSetting):
2040         * inspector/InspectorFrontendHost.h:
2041         * inspector/InspectorFrontendHost.idl:
2042         * loader/EmptyClients.h:
2043         (WebCore::EmptyInspectorClient::populateSetting):
2044         (WebCore::EmptyInspectorClient::storeSetting):
2045
2046 2009-12-03  Ben Murdoch  <benm@google.com>
2047
2048         Reviewed by Brady Eidson.
2049
2050         [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
2051         https://bugs.webkit.org/show_bug.cgi?id=31915
2052
2053         No change in functionality so no new tests required.
2054
2055         * history/HistoryItem.cpp:
2056         (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
2057         (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
2058         (WebCore::HistoryItem::setURLString): ditto.
2059         (WebCore::HistoryItem::setOriginalURLString): ditto.
2060         (WebCore::HistoryItem::setReferrer): ditto.
2061         (WebCore::HistoryItem::setTitle): ditto.
2062         (WebCore::HistoryItem::setTarget): ditto.
2063         (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
2064         (WebCore::HistoryItem::clearDocumentState): ditto.
2065         (WebCore::HistoryItem::setIsTargetItem): ditto.
2066         (WebCore::HistoryItem::addChildItem): ditto.
2067         (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
2068         * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
2069
2070 2009-12-03  Ben Murdoch  <benm@google.com>
2071
2072         Reviewed by Brady Eidson.
2073
2074         [Android] The FrameLoaderClient is unaware of BackForwardList changes.
2075         https://bugs.webkit.org/show_bug.cgi?id=31914
2076
2077         This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
2078
2079         No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
2080
2081         * history/BackForwardList.cpp:
2082         (WebCore::BackForwardList::addItem): Execute the callback.
2083         (WebCore::BackForwardList::goBack): ditto.
2084         (WebCore::BackForwardList::goForward): ditto.
2085         (WebCore::BackForwardList::goToItem): ditto.
2086         (WebCore::BackForwardList::setCapacity): dito.
2087         * loader/EmptyClients.h:
2088         (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
2089         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
2090         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
2091         * loader/FrameLoaderClient.h:
2092
2093 2009-12-03  Ben Murdoch  <benm@google.com>
2094
2095         Reviewed by Brady Eidson.
2096
2097         [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
2098         https://bugs.webkit.org/show_bug.cgi?id=31913
2099
2100         Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
2101
2102         No new tests required as this is Android specific code.
2103
2104         * history/HistoryItem.h: Add Android specific member data to HistoryItem.
2105         * history/android: Added.
2106         * history/android/AndroidWebHistoryBridge.h: Added.
2107         * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
2108         (WebCore::HistoryItem::bridge): Added.
2109         (WebCore::HistoryItem::setBridge): Added.
2110
2111 2009-12-03  Oliver Hunt  <oliver@apple.com>
2112
2113         Reviewed by Maciej Stachowiak.
2114
2115         NULL ptr in SVGPathSegList::getPathSegAtLength()
2116         https://bugs.webkit.org/show_bug.cgi?id=30313
2117
2118         Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
2119         Add null checks to SVGList's content manipulation functions to prevent
2120         null values from entering the list in the first place.
2121
2122         Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
2123
2124         * svg/SVGList.h:
2125         (WebCore::SVGList::initialize):
2126         (WebCore::SVGList::insertItemBefore):
2127         (WebCore::SVGList::replaceItem):
2128         (WebCore::SVGList::appendItem):
2129         * svg/SVGPathElement.cpp:
2130         (WebCore::SVGPathElement::getPathSegAtLength):
2131         * svg/SVGPathElement.h:
2132         * svg/SVGPathElement.idl:
2133         * svg/SVGPathSegList.cpp:
2134         (WebCore::SVGPathSegList::getPathSegAtLength):
2135         (WebCore::SVGPathSegList::toPathData):
2136         (WebCore::SVGPathSegList::createAnimated):
2137         * svg/SVGPathSegList.h:
2138
2139 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
2140
2141         Reviewed by Eric Seidel.
2142
2143         Sanitize web fonts using the OTS library 
2144         https://bugs.webkit.org/show_bug.cgi?id=31106
2145
2146         Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
2147         and attempts to validate and sanitize them. We hope this reduces the attack surface
2148         of the system font libraries.
2149
2150         * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
2151         * WebCore.gypi: Added new files below.
2152         * WebCore.xcodeproj/project.pbxproj: Ditto.
2153         * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
2154         (WebCore::createFontCustomPlatformData):
2155         * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
2156         (WebCore::createFontCustomPlatformData):
2157         * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
2158         (WebCore::OpenTypeSanitizer::sanitize):
2159         * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
2160         (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
2161
2162 2009-12-02  Oliver Hunt  <oliver@apple.com>
2163
2164         Reviewed by Sam Weinig.
2165
2166         Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
2167         https://bugs.webkit.org/show_bug.cgi?id=32098
2168
2169         Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
2170         Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
2171         that an explicit String cast would not be necessary.
2172
2173         To prevent something like this happening again in future i've added private
2174         operator new implementations to ScriptFunctionCall making this type of mistake
2175         produce errors when compiling.
2176
2177         Test case: Inspector tests now pass with GC on every alloc enabled.
2178
2179         * bindings/js/ScriptFunctionCall.cpp:
2180         (WebCore::ScriptFunctionCall::appendArgument):
2181         * bindings/js/ScriptFunctionCall.h:
2182         (WebCore::ScriptFunctionCall::operator new):
2183         (WebCore::ScriptFunctionCall::operator new[]):
2184         * inspector/InspectorFrontend.cpp:
2185         (WebCore::InspectorFrontend::addConsoleMessage):
2186         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
2187         (WebCore::InspectorFrontend::addResource):
2188         (WebCore::InspectorFrontend::updateResource):
2189         (WebCore::InspectorFrontend::removeResource):
2190         (WebCore::InspectorFrontend::updateFocusedNode):
2191         (WebCore::InspectorFrontend::setAttachedWindow):
2192         (WebCore::InspectorFrontend::addRecordToTimeline):
2193         (WebCore::InspectorFrontend::parsedScriptSource):
2194         (WebCore::InspectorFrontend::failedToParseScriptSource):
2195         (WebCore::InspectorFrontend::addProfileHeader):
2196         (WebCore::InspectorFrontend::setRecordingProfile):
2197         (WebCore::InspectorFrontend::didGetProfileHeaders):
2198         (WebCore::InspectorFrontend::didGetProfile):
2199         (WebCore::InspectorFrontend::pausedScript):
2200         (WebCore::InspectorFrontend::setDocument):
2201         (WebCore::InspectorFrontend::setDetachedRoot):
2202         (WebCore::InspectorFrontend::setChildNodes):
2203         (WebCore::InspectorFrontend::childNodeCountUpdated):
2204         (WebCore::InspectorFrontend::childNodeInserted):
2205         (WebCore::InspectorFrontend::childNodeRemoved):
2206         (WebCore::InspectorFrontend::attributesUpdated):
2207         (WebCore::InspectorFrontend::didRemoveNode):
2208         (WebCore::InspectorFrontend::didGetChildNodes):
2209         (WebCore::InspectorFrontend::didApplyDomChange):
2210         (WebCore::InspectorFrontend::didGetEventListenersForNode):
2211         (WebCore::InspectorFrontend::didGetCookies):
2212         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
2213         (WebCore::InspectorFrontend::addDatabase):
2214         (WebCore::InspectorFrontend::selectDatabase):
2215         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
2216         (WebCore::InspectorFrontend::addDOMStorage):
2217         (WebCore::InspectorFrontend::selectDOMStorage):
2218         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
2219         (WebCore::InspectorFrontend::didSetDOMStorageItem):
2220         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
2221         (WebCore::InspectorFrontend::updateDOMStorage):
2222         (WebCore::InspectorFrontend::addNodesToSearchResult):
2223         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
2224         * inspector/InspectorFrontend.h:
2225
2226 2009-12-02  Dave Hyatt  <hyatt@apple.com>
2227
2228         Reviewed by Darin Adler.
2229
2230         https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
2231         pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
2232         @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
2233         makes error handling deal with more cases correctly.
2234
2235         Added fast/css/namespaces/namespaces-invalid-at-rules.xml
2236
2237         * css/CSSGrammar.y:
2238         * css/CSSParser.cpp:
2239         (WebCore::CSSParser::CSSParser):
2240         (WebCore::CSSParser::parseRule):
2241         (WebCore::CSSParser::createCharsetRule):
2242         (WebCore::CSSParser::createImportRule):
2243         (WebCore::CSSParser::createMediaRule):
2244         (WebCore::CSSParser::createKeyframesRule):
2245         (WebCore::CSSParser::createStyleRule):
2246         (WebCore::CSSParser::createFontFaceRule):
2247         (WebCore::CSSParser::addNamespace):
2248         (WebCore::CSSParser::createVariablesRule):
2249         * css/CSSParser.h:
2250
2251 2009-12-02  Yusuke Sato  <yusukes@chromium.org>
2252
2253         Reviewed by Dan Bernstein.
2254
2255         Safari/Chromium for Windows fails to load CJK WebFonts
2256         https://bugs.webkit.org/show_bug.cgi?id=31804
2257         
2258         * platform/graphics/opentype/OpenTypeUtilities.cpp:
2259         (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
2260
2261 2009-12-02  Avi Drissman  <avi@chromium.org>
2262
2263         Reviewed by Darin Fisher.
2264
2265         Chromium: Need tickmarks in scrollbar
2266         https://bugs.webkit.org/show_bug.cgi?id=32069
2267
2268         * WebCore.gyp/WebCore.gyp:
2269         * WebCore.gypi:
2270         * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
2271         * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
2272
2273 2009-11-13  Timothy Hatcher  <timothy@apple.com>
2274
2275         Expose a function to set the value of an input element on behalf of the user.
2276         This function will dispatch the change event so the page is notified when autofill
2277         happens. Also dispatch a change event when a select element is changed by autofill.
2278
2279         <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
2280
2281         Reviewed by Darin Adler.
2282
2283         * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
2284         * bindings/objc/DOMHTML.mm:
2285         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
2286         a change event is fired. This method is called by Safari autofill.
2287         * dom/Document.cpp:
2288         (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
2289         of dispatching the change event directly to be consistent.
2290         * html/HTMLFormControlElement.cpp:
2291         (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
2292         (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
2293         * html/HTMLInputElement.h:
2294         * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
2295         * html/InputElement.h: Added setValueForUser.
2296
2297 2009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2298
2299         Reviewed by Timothy Hatcher.
2300
2301         Web Inspector: DOM tree selection disappears upon page refresh.
2302
2303         https://bugs.webkit.org/show_bug.cgi?id=31142
2304
2305         Test: inspector/elements-panel-selection-on-refresh.html
2306
2307         * inspector/InjectedScriptHost.cpp:
2308         (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
2309         * inspector/InjectedScriptHost.h:
2310         * inspector/InjectedScriptHost.idl:
2311         * inspector/InspectorBackend.h:
2312         * inspector/InspectorController.cpp:
2313         (WebCore::InspectorController::close):
2314         (WebCore::InspectorController::releaseDOMAgent):
2315         (WebCore::InspectorController::resetScriptObjects):
2316         * inspector/InspectorDOMAgent.cpp:
2317         (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
2318         (WebCore::InspectorDOMAgent::reset):
2319         (WebCore::InspectorDOMAgent::setDocument):
2320         (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
2321         (WebCore::InspectorDOMAgent::nodeForPath):
2322         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2323         * inspector/InspectorDOMAgent.h:
2324         * inspector/front-end/DOMAgent.js:
2325         (WebInspector.DOMNode.prototype._renumber):
2326         (WebInspector.DOMAgent.prototype._setDocument):
2327         * inspector/front-end/ElementsPanel.js:
2328         (WebInspector.ElementsPanel.prototype.reset):
2329         (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
2330         (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
2331         (WebInspector.ElementsPanel.prototype.setDocument):
2332         * inspector/front-end/InjectedScript.js:
2333         (InjectedScript.pushNodeByPathToFrontend):
2334         * inspector/front-end/InjectedScriptAccess.js:
2335
2336 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2337
2338         Reviewed by Dan Bernstein.
2339
2340         https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
2341         all the @-rules we support.  When escape sequences are present, the lexical scanner
2342         just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
2343         and then recheck against the rules we support with the final processed name.  If we
2344         find a match, we mutate the token value to the appropriate rule name token, e.g.,
2345         NAMESPACE_SYM.
2346
2347         Added fast/css/namespaces/namespaces-escapes.xml
2348
2349         * css/CSSParser.cpp:
2350         (WebCore::CSSParser::lex):
2351         (WebCore::CSSParser::recheckAtKeyword):
2352         (WebCore::CSSParser::text):
2353         * css/CSSParser.h:
2354
2355 2009-12-02  Anton Muhin  <antonm@chromium.org>
2356
2357         Reviewed by Adam Barth.:w
2358
2359         Allow to skip thread checks when accessing DOMDataStore for processes
2360         which run V8 in single thread mode.
2361         https://bugs.webkit.org/show_bug.cgi?id=31877
2362
2363         Should be covered by buildbots.
2364
2365         * bindings/v8/V8DOMMap.cpp:
2366         (WebCore::getDOMDataStore):
2367         (WebCore::enableFasterDOMStoreAccess):
2368         (WebCore::getDOMNodeMap):
2369         (WebCore::getDOMObjectMap):
2370         (WebCore::getActiveDOMObjectMap):
2371         (WebCore::getDOMSVGElementInstanceMap):
2372         (WebCore::getDOMSVGObjectWithContextMap):
2373         * bindings/v8/V8DOMMap.h:
2374
2375 2009-12-02  Yury Semikhatsky  <yurys@chromium.org>
2376
2377         Reviewed by Pavel Feldman.
2378
2379         Code clean up: remove ScriptObjectQuarantine.* as a whole.
2380
2381         https://bugs.webkit.org/show_bug.cgi?id=32060
2382
2383         * GNUmakefile.am:
2384         * WebCore.gypi:
2385         * WebCore.pro:
2386         * WebCore.vcproj/WebCore.vcproj:
2387         * WebCore.xcodeproj/project.pbxproj:
2388         * WebCoreSources.bkl:
2389         * bindings/js/JSBindingsAllInOne.cpp:
2390         * bindings/js/ScriptObjectQuarantine.cpp: Removed.
2391         * bindings/js/ScriptObjectQuarantine.h: Removed.
2392         * bindings/js/ScriptValue.cpp:
2393         (WebCore::ScriptValue::quarantineValue):
2394         * bindings/js/ScriptValue.h:
2395         * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
2396         * bindings/v8/ScriptObjectQuarantine.h: Removed.
2397         * bindings/v8/ScriptValue.h:
2398         (WebCore::ScriptValue::quarantineValue):
2399         * inspector/ConsoleMessage.cpp:
2400         (WebCore::ConsoleMessage::ConsoleMessage):
2401         * inspector/InspectorController.cpp:
2402         * inspector/InspectorDatabaseResource.cpp:
2403         (WebCore::InspectorDatabaseResource::bind):
2404         * inspector/InspectorFrontend.cpp:
2405
2406 2009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
2407
2408         Reviewed by Alexey Proskuryakov.
2409
2410         WebSocket handshake check query component of URL
2411         https://bugs.webkit.org/show_bug.cgi?id=31617
2412
2413         Tests: websocket/tests/url-with-credential.html
2414                websocket/tests/url-with-empty-query.html
2415                websocket/tests/url-with-fragment.html
2416                websocket/tests/url-with-query-for-no-query.html
2417                websocket/tests/url-with-query.html
2418
2419         * platform/KURLGoogle.cpp:
2420         (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
2421         * websockets/WebSocketHandshake.cpp:
2422         (WebCore::resourceName): added. add query component to path if specified.
2423         (WebCore::WebSocketHandshake::clientLocation):
2424         (WebCore::WebSocketHandshake::clientHandshakeMessage):
2425
2426 2009-12-01  David Levin  <levin@chromium.org>
2427
2428         Reviewed by Eric Seidel.
2429
2430         Incorrect code in WebGLRenderingContext.cpp
2431         https://bugs.webkit.org/show_bug.cgi?id=32046
2432
2433         Fix incorrect code that happened to work. != has higher precendence than &.
2434         The simplest fix is to remove the "!= 0" which violates WebKit style
2435         guidelines anyway.
2436
2437         Also added periods to few comments in the same function.
2438
2439         * html/canvas/WebGLRenderingContext.cpp:
2440         (WebCore::WebGLRenderingContext::validateIndexArray):
2441
2442 2009-12-01  Kent Tamura  <tkent@chromium.org>
2443
2444         Reviewed by Darin Adler.
2445
2446         Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
2447         pattern and step attributes of HTMLInputElement.
2448         https://bugs.webkit.org/show_bug.cgi?id=31708
2449
2450         * html/HTMLInputElement.idl:
2451
2452 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
2453
2454         Reviewed by Darin Adler.
2455
2456         WAI-ARIA: implement support for ARIA drag and drop
2457         https://bugs.webkit.org/show_bug.cgi?id=32007
2458
2459         Test: platform/mac/accessibility/aria-drag-drop.html
2460
2461         * accessibility/AccessibilityObject.h:
2462         (WebCore::AccessibilityObject::supportsARIADropping):
2463         (WebCore::AccessibilityObject::supportsARIADragging):
2464         (WebCore::AccessibilityObject::isARIAGrabbed):
2465         (WebCore::AccessibilityObject::setARIAGrabbed):
2466         (WebCore::AccessibilityObject::determineARIADropEffects):
2467         * accessibility/AccessibilityRenderObject.cpp:
2468         (WebCore::AccessibilityRenderObject::supportsARIADropping):
2469         (WebCore::AccessibilityRenderObject::supportsARIADragging):
2470         (WebCore::AccessibilityRenderObject::isARIAGrabbed):
2471         (WebCore::AccessibilityRenderObject::setARIAGrabbed):
2472         (WebCore::AccessibilityRenderObject::determineARIADropEffects):
2473         * accessibility/AccessibilityRenderObject.h:
2474         * accessibility/mac/AccessibilityObjectWrapper.mm:
2475         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2476         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2477         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
2478         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2479         * html/HTMLAttributeNames.in:
2480
2481 2009-12-01  Adam Barth  <abarth@webkit.org>
2482
2483         https://bugs.webkit.org/show_bug.cgi?id=21288
2484
2485         Unreviewed port of @sandbox to V8.
2486
2487         * bindings/v8/ScriptController.cpp:
2488         (WebCore::ScriptController::isEnabled):
2489         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2490         (WebCore::createWindow):
2491
2492 2009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
2493
2494         Reviewed by Darin Adler.
2495
2496         Implement HTML5 sandbox attribute for iframes.
2497         http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
2498         https://bugs.webkit.org/show_bug.cgi?id=21288
2499
2500         Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
2501                fast/frames/sandboxed-iframe-forms.html
2502                fast/frames/sandboxed-iframe-navigation-allowed.html
2503                fast/frames/sandboxed-iframe-navigation-parent.html
2504                fast/frames/sandboxed-iframe-navigation-targetlink.html
2505                fast/frames/sandboxed-iframe-navigation-windowopen.html
2506                fast/frames/sandboxed-iframe-plugins.html
2507                fast/frames/sandboxed-iframe-scripting.html
2508                fast/frames/sandboxed-iframe-storage.html
2509                http/tests/security/sandboxed-iframe-document-cookie.html
2510                http/tests/security/sandboxed-iframe-modify-self.html
2511                http/tests/security/xss-DENIED-sandboxed-iframe.html
2512                http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
2513                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
2514                http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
2515
2516         * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
2517         (WebCore::createWindow):
2518         * bindings/js/ScriptController.cpp: sandboxing scripts
2519         (WebCore::ScriptController::isEnabled):
2520         * dom/Document.cpp:
2521         (WebCore::Document::processHttpEquiv):
2522         (WebCore::Document::cookie): raise exception when accessed from sandbox
2523         (WebCore::Document::setCookie): raise exception when accessed from sandbox
2524         (WebCore::Document::initSecurityContext): updae sandbox status
2525         (WebCore::Document::updateSandboxFlags):
2526         * dom/Document.h:
2527         * dom/Document.idl:
2528         * html/HTMLAppletElement.cpp: sandboxing applets
2529         (WebCore::HTMLAppletElement::createRenderer):
2530         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
2531         (WebCore::HTMLAppletElement::canEmbedJava):
2532         * html/HTMLAppletElement.h:
2533         * html/HTMLAttributeNames.in:
2534         * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
2535         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
2536         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
2537         * html/HTMLFrameOwnerElement.h:
2538         (WebCore::HTMLFrameOwnerElement::sandboxFlags):
2539         * html/HTMLIFrameElement.cpp: sandbox attribute parsing
2540         (WebCore::parseSandboxAttribute):
2541         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2542         * html/HTMLIFrameElement.idl:
2543         * inspector/InspectorController.cpp:
2544         (WebCore::InspectorController::getCookies):
2545         * loader/CrossOriginAccessControl.cpp:
2546         (WebCore::passesAccessControlCheck):
2547         * loader/FrameLoader.cpp:
2548         (WebCore::FrameLoader::FrameLoader):
2549         (WebCore::FrameLoader::init):
2550         (WebCore::FrameLoader::submitForm): sandboxing forms
2551         (WebCore::FrameLoader::requestObject): sandboxing plugins
2552         (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
2553         (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
2554         * loader/FrameLoader.h:
2555         (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
2556         (WebCore::FrameLoader::isSandboxed):
2557         (WebCore::FrameLoader::sandboxFlags):
2558         * loader/FrameLoaderTypes.h:
2559         (WebCore::):
2560         * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
2561         (WebCore::DOMWindow::sessionStorage):
2562         (WebCore::DOMWindow::localStorage):
2563         (WebCore::DOMWindow::openDatabase):
2564         * page/SecurityOrigin.cpp: added sandboxing status
2565         (WebCore::SecurityOrigin::SecurityOrigin):
2566         (WebCore::SecurityOrigin::canAccess):
2567         (WebCore::SecurityOrigin::canRequest):
2568         (WebCore::SecurityOrigin::toString):
2569         * page/SecurityOrigin.h:
2570         (WebCore::SecurityOrigin::setSandboxFlags):
2571         (WebCore::SecurityOrigin::isSandboxed):
2572         (WebCore::SecurityOrigin::canAccessDatabase):
2573         (WebCore::SecurityOrigin::canAccessStorage):
2574         * websockets/WebSocketChannel.cpp:
2575         (WebCore::WebSocketChannel::didReceiveData):
2576
2577 2009-12-01  Chris Fleizach  <cfleizach@apple.com>
2578
2579         Reviewed by David Kilzer.
2580
2581         ARIA: support a way to create a static text object
2582         https://bugs.webkit.org/show_bug.cgi?id=32030
2583
2584         Test: accessibility/aria-text-role.html
2585
2586         * accessibility/AccessibilityObject.cpp:
2587         (WebCore::createARIARoleMap):
2588         * accessibility/AccessibilityRenderObject.cpp:
2589         (WebCore::AccessibilityRenderObject::stringValue):
2590         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
2591         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2592         (WebCore::AccessibilityRenderObject::text):
2593         * accessibility/AccessibilityRenderObject.h:
2594
2595 2009-12-01  Oliver Hunt  <oliver@apple.com>
2596
2597         Reviewed by Maciej Stachowiak.
2598
2599         Inspector crashes when collecting on every allocation
2600         https://bugs.webkit.org/show_bug.cgi?id=32044
2601
2602         The crash is caused by the prototype wrapper object getting collected
2603         when allocating the object that is going to use it as a prototype.
2604         Because the only reference to the prototype wrapper is through the
2605         new object's Structure it does not get marked automatically.
2606
2607         * bindings/js/JSInspectedObjectWrapper.cpp:
2608         (WebCore::JSInspectedObjectWrapper::wrap):
2609         * bindings/js/JSInspectorCallbackWrapper.cpp:
2610         (WebCore::JSInspectorCallbackWrapper::wrap):
2611
2612 2009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2613
2614         Reviewed by Simon Fraser.
2615
2616         Add SVG animation test framework with 'snapshot' functionality
2617         https://bugs.webkit.org/show_bug.cgi?id=31897
2618
2619         Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
2620         for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
2621
2622         layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
2623         to sample a svg animateMotion/animateColor/animate/set element at certain times.
2624
2625         After the desired SVG animation starts and calling the method above, it's immediately forwarded to
2626         the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
2627         a callback is fired used to sample the animation value at the target time. It's modelled similar
2628         to the CSS animation/transition testing framework, inspired by
2629         LayoutTests/animations/animation-test-helpers.js.
2630
2631         Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
2632         the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
2633
2634         Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
2635         interaction, while animating.
2636
2637         Test: svg/animations/animVal-basics.html
2638
2639         * WebCore.base.exp:
2640         * WebCore.xcodeproj/project.pbxproj:
2641         * svg/SVGDocumentExtensions.cpp:
2642         (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
2643         * svg/SVGDocumentExtensions.h:
2644         * svg/animation/SMILTimeContainer.cpp:
2645         (WebCore::SMILTimeContainer::SMILTimeContainer):
2646         (WebCore::SMILTimeContainer::sampleAnimationAtTime):
2647         (WebCore::SMILTimeContainer::updateAnimations):
2648         * svg/animation/SMILTimeContainer.h:
2649
2650 2009-12-01  Jens Alfke  <snej@chromium.org>
2651
2652         Reviewed by Darin Adler.
2653
2654         Add convenience methods to Element and QualifiedName that take
2655         char* instead of AtomicString, in preparation for removing the
2656         implicit conversion between the two types (30187).
2657         https://bugs.webkit.org/show_bug.cgi?id=31749
2658
2659         * dom/Element.cpp:
2660         (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
2661         * dom/Element.h:
2662         * dom/QualifiedName.cpp:
2663         (WebCore::QualifiedName::init):  Shared impl of both constructors
2664         (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
2665         * dom/QualifiedName.h:
2666         * platform/network/HTTPHeaderMap.cpp:
2667         (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
2668         (WebCore::HTTPHeaderMap::get):  New variant that takes C string
2669         (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
2670         (WebCore::HTTPHeaderMap::add):  New variant that takes C string
2671         * platform/network/HTTPHeaderMap.h:
2672         (WebCore::HTTPHeaderMap::get):
2673         (WebCore::HTTPHeaderMap::add):
2674         * platform/network/ResourceRequestBase.cpp:
2675         (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
2676         * platform/network/ResourceRequestBase.h:
2677         (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
2678         * platform/network/ResourceResponseBase.cpp:
2679         (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
2680         * platform/network/ResourceResponseBase.h:
2681
2682 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2683
2684         More Windows build fix.
2685
2686         * platform/network/cf/CredentialStorageCFNet.cpp:
2687         (WebCore::CredentialStorage::getFromPersistentStorage):
2688
2689 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2690
2691         Windows build fix.
2692
2693         * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
2694
2695 2009-12-01  Alexey Proskuryakov  <ap@apple.com>
2696
2697         Reviewed by Darin Adler.
2698
2699         https://bugs.webkit.org/show_bug.cgi?id=32036
2700         Implement CredentialStorage::getFromPersistentStorage for CFNetwork
2701
2702         * platform/network/cf/CredentialStorageCFNet.cpp:
2703         (WebCore::CredentialStorage::getFromPersistentStorage):
2704
2705 2009-12-01  Daniel Bates  <dbates@webkit.org>
2706
2707         Reviewed by Pavel Feldman.
2708
2709         https://bugs.webkit.org/show_bug.cgi?id=32001
2710
2711         Added missing localized strings (that I left out of the patch for bug #21554):
2712         %d × %d pixels
2713         %d × %d pixels (Natural: %d × %d pixels)
2714
2715         Also, changed formatting of these stings to conform with existing ones (added
2716         a space on both sides of the multiply sign).
2717
2718         * English.lproj/localizedStrings.js: Added stings.
2719         * inspector/front-end/ElementsTreeOutline.js:
2720         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
2721
2722 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2723
2724         Reviewed by Simon Fraser.
2725
2726         Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
2727
2728         Added fast/css/namespaces/namespaces-empty.xml
2729
2730         * css/CSSStyleSheet.cpp:
2731         (WebCore::CSSStyleSheet::addNamespace):
2732         (WebCore::CSSStyleSheet::determineNamespace):
2733
2734 2009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
2735
2736         Reviewed by Timothy Hatcher.
2737
2738         Web Inspector: Escape key in the Search Field should be more User Friendly
2739         https://bugs.webkit.org/show_bug.cgi?id=32005
2740
2741         * inspector/front-end/inspector.js:
2742         (WebInspector.loaded): add mousedown listener on the search field
2743         (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
2744         (WebInspector.searchKeyDown): handle escape
2745
2746 2009-12-01  Dave Hyatt  <hyatt@apple.com>
2747
2748         Reviewed by David Kilzer.
2749
2750         @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
2751         the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
2752
2753         Added fast/css/namespaces-comments.xml
2754
2755         * css/CSSGrammar.y:
2756
2757 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
2758
2759         Reviewed by Timothy Hatcher.
2760
2761         Reloading WebInspector from context menu is closing it instead of reloading.
2762         https://bugs.webkit.org/show_bug.cgi?id=32004
2763
2764         When reloading WebInspector, don't delete its m_page.
2765
2766         * inspector/InspectorController.cpp:
2767         (WebCore::InspectorController::close):
2768
2769 2009-12-01  Steve Block  <steveblock@google.com>
2770
2771         Reviewed by Dimitri Glazkov.
2772
2773         Adds V8 bindings for Geolocation.
2774         https://bugs.webkit.org/show_bug.cgi?id=30206
2775
2776         Also adds Geolocation files to Chrome build files.
2777
2778         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
2779         * WebCore.gypi: Modified. Adds Geolocation files.
2780         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
2781         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
2782         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
2783         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
2784         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
2785         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
2786         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
2787         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
2788         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
2789         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
2790         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
2791         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
2792         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
2793         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
2794         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
2795         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
2796         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
2797         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
2798         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
2799         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
2800         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
2801         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
2802         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
2803
2804 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
2805
2806         Reviewed by Adam Barth.
2807
2808         Provide a way to get ScriptState for the inspected page.
2809
2810         https://bugs.webkit.org/show_bug.cgi?id=32020
2811
2812         * bindings/v8/ScriptController.cpp:
2813         (WebCore::ScriptController::mainWorldScriptState):
2814         * bindings/v8/ScriptController.h:
2815         * bindings/v8/ScriptState.cpp:
2816         (WebCore::scriptStateFromPage):
2817
2818 2009-12-01  Chris Marrin  <cmarrin@apple.com>
2819
2820         Reviewed by Adam Roben.
2821
2822         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
2823         https://bugs.webkit.org/show_bug.cgi?id=30778
2824
2825         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2826         (WebCore::GraphicsContext3D::getProgramInfoLog):
2827         (WebCore::GraphicsContext3D::getShaderInfoLog):
2828         (WebCore::GraphicsContext3D::getShaderSource):
2829         (WebCore::imageToTexture):
2830
2831 2009-12-01  Mads Ager  <ager@chromium.org>
2832
2833         Reviewed by Eric Seidel.
2834
2835         [V8] Don't crash in DOMWindow event getter in OOM situations
2836         https://bugs.webkit.org/show_bug.cgi?id=32017
2837
2838         Add missing null handle checks in DOMWindow event property
2839         accessors.  V8Proxy::context(frame) can return a null handle in
2840         OOM situations either if failing to initialize a context or if an
2841         OOM is handled gracefully and javascript is disabled.
2842
2843         No new tests because we don't have a good way to test
2844         out-of-memory bugs.
2845
2846         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2847         (WebCore::ACCESSOR_GETTER):
2848         (WebCore::ACCESSOR_SETTER):
2849
2850 2009-12-01  Chris Marrin  <cmarrin@apple.com>
2851
2852         Reviewed by Oliver Hunt.
2853
2854         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
2855         https://bugs.webkit.org/show_bug.cgi?id=31672
2856
2857         * html/HTMLCanvasElement.cpp:
2858         (WebCore::HTMLCanvasElement::getContext):
2859
2860 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2861
2862         Not reviewed: chromium build fix, added missing import.
2863
2864         * inspector/InspectorFrontendHost.cpp:
2865
2866 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
2867
2868         Not reviewed: fix windows build via unexcluding generated files from
2869         project.
2870
2871         * WebCore.vcproj/WebCore.vcproj:
2872
2873 2009-12-01  Mark Rowe  <mrowe@apple.com>
2874
2875         Stop copying IDL files in to the WebCore framework wrapper.
2876
2877         * WebCore.xcodeproj/project.pbxproj:
2878
2879 2009-12-01  Mark Rowe  <mrowe@apple.com>
2880
2881         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
2882
2883         This was probably broken by hand-editing the project file as Xcode itself
2884         knows how to keep project files to a backwards-compatible subset of its format.
2885
2886         * WebCore.xcodeproj/project.pbxproj:
2887
2888 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
2889
2890         Not reviewed: windows build fix (bad vcproj in r51528).
2891
2892         * WebCore.vcproj/WebCore.vcproj:
2893
2894 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
2895
2896         Reviewed by Timothy Hatcher.
2897
2898         Web Inspector: Split InspectorBackend into three parts: backend,
2899         injected script host and frontend host.
2900         
2901         https://bugs.webkit.org/show_bug.cgi?id=31888
2902
2903         * DerivedSources.make:
2904         * GNUmakefile.am:
2905         * WebCore.gypi:
2906         * WebCore.pro:
2907         * WebCore.vcproj/WebCore.vcproj:
2908         * WebCore.xcodeproj/project.pbxproj:
2909         * WebCoreSources.bkl:
2910         * bindings/js/JSBindingsAllInOne.cpp:
2911         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
2912         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
2913         (WebCore::JSInspectorFrontendHost::search):
2914         (WebCore::JSInspectorFrontendHost::setting):
2915         (WebCore::JSInspectorFrontendHost::setSetting):
2916         * bindings/js/ScriptObject.cpp:
2917         (WebCore::ScriptGlobalObject::set):
2918         * bindings/js/ScriptObject.h:
2919         * bindings/v8/DOMObjectsInclude.h:
2920         * bindings/v8/DerivedSourcesAllInOne.cpp:
2921         * bindings/v8/ScriptObject.cpp:
2922         (WebCore::ScriptGlobalObject::set):
2923         * bindings/v8/ScriptObject.h:
2924         * bindings/v8/V8Index.cpp:
2925         * bindings/v8/V8Index.h:
2926         * bindings/v8/custom/V8CustomBinding.h:
2927         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
2928         (WebCore::CALLBACK_FUNC_DECL):
2929         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
2930         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
2931         (WebCore::CALLBACK_FUNC_DECL):
2932         * inspector/InjectedScriptHost.cpp: Added.
2933         (WebCore::InjectedScriptHost::InjectedScriptHost):
2934         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2935         (WebCore::InjectedScriptHost::copyText):
2936         (WebCore::InjectedScriptHost::nodeForId):
2937         (WebCore::InjectedScriptHost::wrapObject):
2938         (WebCore::InjectedScriptHost::unwrapObject):
2939         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
2940         (WebCore::InjectedScriptHost::addNodesToSearchResult):
2941         (WebCore::InjectedScriptHost::currentCallFrame):
2942         (WebCore::InjectedScriptHost::databaseForId):
2943         (WebCore::InjectedScriptHost::selectDatabase):
2944         (WebCore::InjectedScriptHost::selectDOMStorage):
2945         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
2946         (WebCore::InjectedScriptHost::inspectorDOMAgent):
2947         (WebCore::InjectedScriptHost::inspectorFrontend):
2948         * inspector/InjectedScriptHost.h: Added.
2949         (WebCore::InjectedScriptHost::create):
2950         (WebCore::InjectedScriptHost::inspectorController):
2951         (WebCore::InjectedScriptHost::disconnectController):
2952         * inspector/InjectedScriptHost.idl: Added.
2953         * inspector/InspectorBackend.cpp:
2954         (WebCore::InspectorBackend::InspectorBackend):
2955         (WebCore::InspectorBackend::storeLastActivePanel):
2956         (WebCore::InspectorBackend::toggleNodeSearch):
2957         (WebCore::InspectorBackend::resourceTrackingEnabled):
2958         (WebCore::InspectorBackend::debuggerEnabled):
2959         (WebCore::InspectorBackend::enableDebugger):
2960         (WebCore::InspectorBackend::disableDebugger):
2961         (WebCore::InspectorBackend::addBreakpoint):
2962         (WebCore::InspectorBackend::updateBreakpoint):
2963         (WebCore::InspectorBackend::removeBreakpoint):
2964         (WebCore::InspectorBackend::pauseInDebugger):
2965         (WebCore::InspectorBackend::resumeDebugger):
2966         (WebCore::InspectorBackend::stepOverStatementInDebugger):
2967         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
2968         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
2969         (WebCore::InspectorBackend::pauseOnExceptions):
2970         (WebCore::InspectorBackend::setPauseOnExceptions):
2971         (WebCore::InspectorBackend::profilerEnabled):
2972         (WebCore::InspectorBackend::enableProfiler):
2973         (WebCore::InspectorBackend::disableProfiler):
2974         (WebCore::InspectorBackend::startProfiling):
2975         (WebCore::InspectorBackend::stopProfiling):
2976         (WebCore::InspectorBackend::getProfileHeaders):
2977         (WebCore::InspectorBackend::getProfile):
2978         (WebCore::InspectorBackend::currentCallFrame):
2979         (WebCore::InspectorBackend::highlightDOMNode):
2980         (WebCore::InspectorBackend::hideDOMNodeHighlight):
2981         (WebCore::InspectorBackend::getCookies):
2982         (WebCore::InspectorBackend::deleteCookie):
2983         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
2984         (WebCore::InspectorBackend::nodeForId):
2985         * inspector/InspectorBackend.h:
2986         (WebCore::InspectorBackend::create):
2987         * inspector/InspectorBackend.idl:
2988         * inspector/InspectorController.cpp:
2989         (WebCore::InspectorController::InspectorController):
2990         (WebCore::InspectorController::~InspectorController):
2991         (WebCore::InspectorController::inspectedPageDestroyed):
2992         (WebCore::InspectorController::windowScriptObjectAvailable):
2993         * inspector/InspectorController.h:
2994         (WebCore::InspectorController::inspectorFrontendHost):
2995         (WebCore::InspectorController::injectedScriptHost):
2996         * inspector/InspectorFrontendHost.cpp: Added.
2997         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2998         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
2999         (WebCore::InspectorFrontendHost::loaded):
3000         (WebCore::InspectorFrontendHost::attach):
3001         (WebCore::InspectorFrontendHost::detach):
3002         (WebCore::InspectorFrontendHost::closeWindow):
3003         (WebCore::InspectorFrontendHost::windowUnloading):
3004         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
3005         (WebCore::InspectorFrontendHost::moveWindowBy):
3006         (WebCore::InspectorFrontendHost::localizedStringsURL):
3007         (WebCore::InspectorFrontendHost::hiddenPanels):
3008         (WebCore::InspectorFrontendHost::platform):
3009         (WebCore::InspectorFrontendHost::port):
3010         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
3011         (WebCore::InspectorFrontendHost::addSourceToFrame):
3012         * inspector/InspectorFrontendHost.h: Added.
3013         (WebCore::InspectorFrontendHost::create):
3014         (WebCore::InspectorFrontendHost::inspectorController):
3015         (WebCore::InspectorFrontendHost::disconnectController):
3016         * inspector/InspectorFrontendHost.idl: Added.
3017         * inspector/front-end/Breakpoint.js:
3018         (WebInspector.Breakpoint.prototype.set condition):
3019         * inspector/front-end/BreakpointsSidebarPane.js:
3020         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
3021         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
3022         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
3023         * inspector/front-end/ConsoleView.js:
3024         (WebInspector.ConsoleView.prototype.clearMessages):
3025         * inspector/front-end/CookieItemsView.js:
3026         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
3027         * inspector/front-end/DOMAgent.js:
3028         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
3029         (WebInspector.DOMAgent.prototype.setAttributeAsync):
3030         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
3031         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
3032         (WebInspector.Cookies.getCookiesAsync):
3033         (WebInspector.EventListeners.getEventListenersForNodeAsync):
3034         * inspector/front-end/DOMStorage.js:
3035         (WebInspector.DOMStorage.prototype.getEntries):
3036         (WebInspector.DOMStorage.prototype.setItem):
3037         (WebInspector.DOMStorage.prototype.removeItem):
3038         * inspector/front-end/Database.js:
3039         (WebInspector.Database.prototype.getTableNames):
3040         * inspector/front-end/ElementsPanel.js:
3041         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
3042         (WebInspector.ElementsPanel.prototype.hide):
3043         (WebInspector.ElementsPanel.prototype.reset):
3044         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
3045         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
3046         * inspector/front-end/ElementsTreeOutline.js:
3047         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
3048         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
3049         ():
3050         * inspector/front-end/EventListenersSidebarPane.js:
3051         (WebInspector.EventListenersSidebarPane.prototype):
3052         * inspector/front-end/InjectedScript.js:
3053         (InjectedScript._evaluateAndWrap):
3054         (InjectedScript.performSearch.addNodesToResults):
3055         (InjectedScript.getCallFrames):
3056         (InjectedScript._callFrameForId):
3057         (InjectedScript._clearConsoleMessages):
3058         (InjectedScript._inspectObject):
3059         (InjectedScript._copy):
3060         (InjectedScript._ensureCommandLineAPIInstalled):
3061         (InjectedScript._window):
3062         (InjectedScript._nodeForId):
3063         (InjectedScript._objectForId):
3064         (InjectedScript.pushNodeToFrontend):
3065         (InjectedScript.executeSql):
3066         (InjectedScript.executeSql.errorCallback):
3067         (InjectedScript.executeSql.queryTransaction):
3068         * inspector/front-end/InjectedScriptAccess.js:
3069         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
3070         (InjectedScriptAccess._installHandler):
3071         * inspector/front-end/InspectorBackendStub.js: Added.
3072         (.WebInspector.InspectorBackendStub):
3073         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
3074         (.WebInspector.InspectorBackendStub.prototype.platform):
3075         (.WebInspector.InspectorBackendStub.prototype.port):
3076         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
3077         (.WebInspector.InspectorBackendStub.prototype.attach):
3078         (.WebInspector.InspectorBackendStub.prototype.detach):
3079         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
3080         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
3081         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
3082         (.WebInspector.InspectorBackendStub.prototype.search):
3083         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
3084         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
3085         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
3086         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
3087         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
3088         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
3089         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
3090         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
3091         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
3092         (.WebInspector.InspectorBackendStub.prototype.loaded):
3093         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
3094         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
3095         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
3096         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
3097         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
3098         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
3099         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
3100         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
3101         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
3102         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
3103         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
3104         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
3105         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
3106         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
3107         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
3108         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
3109         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
3110         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
3111         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
3112         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
3113         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
3114         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
3115         (.WebInspector.InspectorBackendStub.prototype.getProfile):
3116         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
3117         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
3118         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
3119         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
3120         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
3121         (.WebInspector.InspectorBackendStub.prototype.setSetting):
3122         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
3123         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
3124         (.WebInspector.InspectorBackendStub.prototype.setting):
3125         * inspector/front-end/InspectorControllerStub.js:
3126         * inspector/front-end/InspectorFrontendHostStub.js: Added.
3127         (.WebInspector.InspectorFrontendHostStub):
3128         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
3129         (.WebInspector.InspectorFrontendHostStub.prototype.port):
3130         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
3131         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
3132         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
3133         (.WebInspector.InspectorFrontendHostStub.prototype.search):
3134         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
3135         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
3136         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
3137         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
3138         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
3139         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
3140         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
3141         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
3142         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
3143         * inspector/front-end/ProfileView.js:
3144         (WebInspector.CPUProfileView):
3145         (WebInspector.CPUProfileType.prototype.buttonClicked):
3146         * inspector/front-end/ProfilesPanel.js:
3147         (WebInspector.ProfilesPanel.prototype._updateInterface):
3148         (WebInspector.ProfilesPanel.prototype._enableProfiling):
3149         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
3150         * inspector/front-end/ResourcesPanel.js:
3151         (WebInspector.ResourcesPanel.prototype.reset):
3152         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
3153         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
3154         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
3155         * inspector/front-end/ScriptView.js:
3156         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
3157         * inspector/front-end/ScriptsPanel.js:
3158         (WebInspector.ScriptsPanel.prototype.show):
3159         (WebInspector.ScriptsPanel.prototype.addScript):
3160         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
3161         (WebInspector.ScriptsPanel.prototype.reset):
3162         (WebInspector.ScriptsPanel.prototype.canShowResource):
3163         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3164         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
3165         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
3166         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
3167         (WebInspector.ScriptsPanel.prototype._enableDebugging):
3168         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
3169         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
3170         (WebInspector.ScriptsPanel.prototype._togglePause):
3171         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
3172         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
3173         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
3174         * inspector/front-end/SourceView.js:
3175         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
3176         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
3177         (WebInspector.SourceView.prototype.performSearch):
3178         * inspector/front-end/StylesSidebarPane.js:
3179         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
3180         * inspector/front-end/TestController.js:
3181         (WebInspector.TestController.prototype.notifyDone):
3182         * inspector/front-end/TimelinePanel.js:
3183         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3184         * inspector/front-end/WatchExpressionsSidebarPane.js:
3185         (WebInspector.WatchExpressionsSection.prototype.update):
3186         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
3187         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
3188         * inspector/front-end/WebKit.qrc:
3189         * inspector/front-end/inspector.html:
3190         * inspector/front-end/inspector.js:
3191         (WebInspector.pendingDispatches.0.get platform):
3192         (WebInspector.get port):
3193         (WebInspector.set currentPanel):
3194         (WebInspector._createPanels):
3195         (WebInspector._loadPreferences):
3196         (WebInspector.set attached):
3197         (WebInspector._updateHoverHighlight):
3198         (WebInspector.loaded):
3199         (windowLoaded):
3200         (WebInspector.windowUnload):
3201         (WebInspector.close):
3202         (WebInspector.toolbarDrag):
3203         (WebInspector.UIString):
3204
3205 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
3206
3207         Reviewed by Dan Bernstein.
3208
3209         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
3210         https://bugs.webkit.org/show_bug.cgi?id=23264
3211         css2.1/t1205-c565-list-pos-00-b.html is failing
3212         https://bugs.webkit.org/show_bug.cgi?id=23263
3213
3214         Ignore whitespaces after list markers.
3215         Rendering of this was already done for the case where inside=false.
3216         This fixes the rendering of inside=true case and calcInlinePrefWidths.
3217
3218         Test: fast/lists/calc-width-with-space.html
3219
3220         * rendering/RenderBlock.cpp:
3221         (WebCore::RenderBlock::calcInlinePrefWidths):
3222         * rendering/RenderBlockLineLayout.cpp:
3223         (WebCore::RenderBlock::findNextLineBreak):
3224
3225 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
3226
3227         Unreviewed Chromium build fix introduced by r51212
3228
3229         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
3230         as the first argument.
3231         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
3232         Add debuggerWorld() and pluginWorld() in ScriptState.h.
3233
3234         * bindings/v8/ScriptController.cpp:
3235         * bindings/v8/ScriptController.h:
3236         * bindings/v8/ScriptState.cpp:
3237         (WebCore::scriptStateFromNode):
3238         (WebCore::scriptStateFromPage):
3239         (WebCore::mainThreadNormalWorld):
3240         * bindings/v8/ScriptState.h:
3241         (WebCore::debuggerWorld):
3242         (WebCore::pluginWorld):
3243
3244 2009-11-30  Enrica Casucci  <enrica@apple.com>
3245
3246         Reviewed by Darin Adler.
3247
3248         Can focus but not type into content editable block that contains only non-editable content.
3249         <rdar://problem/5982901>
3250         https://bugs.webkit.org/show_bug.cgi?id=31750
3251         
3252         The goal is to change the way we choose a visible position
3253         after hit detection, by preferring a visually equivalent editable
3254         position if available. By doing this, it is possible to add content
3255         to an editable block that initially contains only non editable elements.
3256
3257         Test: editing/selection/mixed-editability-10.html
3258
3259         * WebCore.base.exp: Changed to match the new signature of downstream
3260         and upstream in the Position class.
3261         * dom/Position.cpp:
3262         (WebCore::Position::atEditingBoundary): Added.
3263         (WebCore::Position::upstream): Modified to allow to cross the boundary
3264         between editable and non editable content if required.
3265         (WebCore::Position::downstream): Modified to allow to cross the boundary
3266         between editable and non editable content if required.
3267         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
3268         that are at the editability boundary.
3269         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
3270         to be used in calculating the caret rectangle.
3271         * dom/Position.h:
3272         (WebCore::Position::):
3273         * dom/PositionIterator.cpp:
3274         (WebCore::PositionIterator::atEditingBoundary): Added.
3275         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
3276         that are at the editability boundary.
3277         * dom/PositionIterator.h:
3278         * editing/htmlediting.cpp:
3279         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
3280         descendants of the editable container, but the container itself.
3281         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
3282         descendants of the editable container, but the container itself.
3283         * rendering/RenderObject.cpp:
3284         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
3285         if available.
3286         * rendering/RenderText.cpp:
3287         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
3288         * rendering/RenderText.h:
3289
3290 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
3291
3292         wx build fix, add header needed for wx build.
3293
3294         * css/CSSFontFaceSrcValue.cpp:
3295
3296 2009-11-30  Mark Rowe  <mrowe@apple.com>
3297
3298         Reviewed by David Kilzer.
3299
3300         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
3301
3302         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
3303         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
3304         be performed against the x86_64 architecture.
3305
3306         * DerivedSources.make:
3307
3308 2009-11-30  Beth Dakin  <bdakin@apple.com>
3309
3310         Reviewed by Oliver Hunt.
3311
3312         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
3313         Safari caused by extreme column-gap and column-width values 
3314         -and corresponding-
3315         <rdar://problem/7425433>
3316
3317         Prevent desiredColumnCount from being less than 1 since it is used 
3318         as a divisor.
3319         * rendering/RenderBlock.cpp:
3320         (WebCore::RenderBlock::calcColumnWidth):
3321
3322 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
3323
3324         Reviewed by Oliver Hunt.
3325
3326         https://bugs.webkit.org/show_bug.cgi?id=31659
3327         Connection must be closed in case of Web Socket handshake error
3328
3329         The network connection was closed, but the close event wasn't dispatched.
3330
3331         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
3332
3333         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
3334         Call client didHandle() method. This looks strange in CFNetwork implementation, because
3335         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
3336         more sense in cross-process implementation, because closing is async there.
3337
3338 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
3339
3340         Reviewed by Geoff Garen.
3341
3342         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
3343
3344         WebCore presently has to explicitly specify the world before entering into JSC,
3345         which is a little fragile (particularly since property access via a
3346         getter/setter might invoke execution). Instead derive the current world from
3347         the lexical global object.
3348
3349         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
3350         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
3351         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
3352         are no longer necessary.
3353
3354         * WebCore.base.exp:
3355         * bindings/js/JSCallbackData.cpp:
3356         (WebCore::JSCallbackData::invokeCallback):
3357         * bindings/js/JSCallbackData.h:
3358         (WebCore::JSCallbackData::JSCallbackData):
3359         * bindings/js/JSCustomXPathNSResolver.cpp:
3360         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3361         * bindings/js/JSDOMBinding.cpp:
3362         (WebCore::currentWorld):
3363         (WebCore::mainThreadNormalWorld):
3364         * bindings/js/JSDOMBinding.h:
3365         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
3366         * bindings/js/JSDOMWindowBase.cpp:
3367         (WebCore::JSDOMWindowBase::updateDocument):
3368         * bindings/js/JSDOMWindowBase.h:
3369         * bindings/js/JSEventListener.cpp:
3370         (WebCore::JSEventListener::handleEvent):
3371         (WebCore::JSEventListener::reportError):
3372         * bindings/js/JSHTMLDocumentCustom.cpp:
3373         (WebCore::JSHTMLDocument::open):
3374         * bindings/js/JSNodeFilterCondition.cpp:
3375         (WebCore::JSNodeFilterCondition::acceptNode):
3376         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3377         (WebCore::JSQuarantinedObjectWrapper::construct):
3378         (WebCore::JSQuarantinedObjectWrapper::call):
3379         * bindings/js/ScheduledAction.cpp:
3380         (WebCore::ScheduledAction::executeFunctionInContext):
3381         * bindings/js/ScriptController.cpp:
3382         (WebCore::ScriptController::evaluateInWorld):
3383         (WebCore::ScriptController::initScript):
3384         (WebCore::ScriptController::updateDocument):
3385         * bindings/js/ScriptFunctionCall.cpp:
3386         (WebCore::ScriptFunctionCall::call):
3387         (WebCore::ScriptFunctionCall::construct):
3388         * bindings/js/ScriptObjectQuarantine.cpp:
3389         (WebCore::getQuarantinedScriptObject):
3390         * bindings/js/ScriptState.cpp:
3391         (WebCore::scriptStateFromNode):
3392         (WebCore::scriptStateFromPage):
3393         * bindings/js/ScriptState.h:
3394         * bindings/js/WorkerScriptController.cpp:
3395         (WebCore::WorkerScriptController::evaluate):
3396         * bindings/objc/WebScriptObject.mm:
3397         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3398         (-[WebScriptObject evaluateWebScript:]):
3399         * bridge/NP_jsobject.cpp:
3400         (_NPN_InvokeDefault):
3401         (_NPN_Invoke):
3402         (_NPN_Evaluate):
3403         (_NPN_Construct):
3404         * bridge/jni/jni_jsobject.mm:
3405         (JavaJSObject::call):
3406         (JavaJSObject::eval):
3407         * dom/NodeFilter.h:
3408         (WebCore::NodeFilter::acceptNode):
3409         * dom/NodeIterator.h:
3410         (WebCore::NodeIterator::nextNode):
3411         (WebCore::NodeIterator::previousNode):
3412         * dom/TreeWalker.h:
3413         (WebCore::TreeWalker::parentNode):
3414         (WebCore::TreeWalker::firstChild):
3415         (WebCore::TreeWalker::lastChild):
3416         (WebCore::TreeWalker::previousSibling):
3417         (WebCore::TreeWalker::nextSibling):
3418         (WebCore::TreeWalker::previousNode):
3419         (WebCore::TreeWalker::nextNode):
3420         * inspector/InspectorController.cpp:
3421         (WebCore::InspectorController::windowScriptObjectAvailable):
3422         (WebCore::InspectorController::didEvaluateForTestInFrontend):
3423         * inspector/JavaScriptCallFrame.cpp:
3424         (WebCore::JavaScriptCallFrame::evaluate):
3425
3426 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
3427
3428         Reviewed by Simon Fraser.
3429
3430         All HTML5 media element events should be regular events
3431         https://bugs.webkit.org/show_bug.cgi?id=30513
3432
3433         * html/HTMLMediaElement.cpp:
3434         (WebCore::HTMLMediaElement::selectMediaResource):
3435         (WebCore::HTMLMediaElement::noneSupported):
3436         (WebCore::HTMLMediaElement::mediaEngineError):
3437         (WebCore::HTMLMediaElement::setNetworkState):
3438         (WebCore::HTMLMediaElement::userCancelledLoad):
3439             Call scheduleEvent instead of scheduleProgressEvent.
3440         (WebCore::HTMLMediaElement::progressEventTimerFired):
3441             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
3442             after scheduling a 'progress' event so the controller will update download
3443             progress indicator.
3444         * html/HTMLMediaElement.h:
3445             Remove scheduleProgressEvent prototype.
3446
3447 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
3448
3449         Reviewed by Pavel Feldman.
3450
3451         Web Inspector: Wrong console output for Regexp escape sequence
3452         https://bugs.webkit.org/show_bug.cgi?id=31538
3453
3454         Updated inspector/console-format.html
3455
3456         * inspector/front-end/ConsoleView.js:
3457         (WebInspector.ConsoleView.createDividerElement): style issues.
3458         (WebInspector.ConsoleView.createFilterElement): style issues.
3459         (WebInspector.ConsoleView): added _customFormatters table.
3460         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
3461         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
3462         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
3463         (WebInspector.ConsoleView.prototype._formatobject):
3464         (WebInspector.ConsoleView.prototype._formatnode):
3465         (WebInspector.ConsoleView.prototype._printArray):
3466         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
3467         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
3468         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
3469         (WebInspector.ConsoleCommandResult):
3470         * inspector/front-end/InjectedScript.js: simplified regex formatting.
3471         * inspector/front-end/inspector.js:
3472         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
3473         * inspector/front-end/utilities.js: 
3474         (Element.prototype.hasStyleClass): update inaccurate comment.
3475         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
3476
3477 2009-11-30  Erik Arvidsson  <arv@chromium.org>
3478
3479         Reviewed by Adam Barth.
3480
3481         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
3482         https://bugs.webkit.org/show_bug.cgi?id=31895
3483
3484         No new tests. This is already covered by:
3485                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
3486                 fast/dom/CSSStyleDeclaration/css-style-item.html
3487
3488         * bindings/v8/V8Collection.h:
3489         (WebCore::collectionStringIndexedPropertyGetter):
3490         (WebCore::setCollectionStringIndexedGetter):
3491         * bindings/v8/V8DOMWrapper.cpp:
3492         (WebCore::V8DOMWrapper::getTemplate):
3493
3494 2009-11-30  Steve Block  <steveblock@google.com>
3495
3496         Reviewed by Eric Seidel.
3497
3498         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
3499         https://bugs.webkit.org/show_bug.cgi?id=31932
3500
3501         Build fix only, no new tests.
3502
3503         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
3504
3505 2009-11-30  Steve Block  <steveblock@google.com>
3506
3507         Reviewed by Eric Seidel.
3508
3509         Adds PassOwnPtr include to ScriptExecutionContext.h.
3510         https://bugs.webkit.org/show_bug.cgi?id=31929
3511
3512         Build fix only, no new tests.
3513
3514         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
3515
3516 2009-11-30  Dirk Schulze  <krit@webkit.org>
3517
3518         Reviewed by Nikolas Zimmermann.
3519
3520         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
3521         [https://bugs.webkit.org/show_bug.cgi?id=31980]
3522
3523         It turns out, that we did not handle maskUnits="userSpaceOnUse"
3524         correctly. We just need to move the context of the maskImage
3525         if maskContentUnits="objectBoundingBox". The context gets scaled
3526         on this unit combination, so we have to substract the position of
3527         the targetRect. On userSpaceOnUse the position just depends on the
3528         position of the mask element.
3529         I added a test with some senseless and reasonable values for size
3530         and postion of the mask and it's contents. I also used every
3531         combination of maskUnits and maskContentUnits to be sure, that it
3532         is fixed this time.
3533
3534         Test: svg/custom/mask-with-all-units.svg
3535
3536         * svg/SVGMaskElement.cpp:
3537         (WebCore::SVGMaskElement::drawMaskerContent):
3538
3539 2009-11-30  Steve Block  <steveblock@google.com>
3540
3541         Reviewed by Eric Seidel.
3542
3543         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
3544         https://bugs.webkit.org/show_bug.cgi?id=31928
3545
3546         Build fix only, no new tests.
3547
3548         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
3549
3550 2009-11-30  Steve Block  <steveblock@google.com>
3551
3552         Reviewed by Eric Seidel.
3553
3554         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
3555         https://bugs.webkit.org/show_bug.cgi?id=31926
3556
3557         Build fix only, no new tests.
3558
3559         * bindings/v8/WorkerContextExecutionProxy.cpp:
3560         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3561         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
3562         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
3563
3564 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
3565
3566         Reviewed by Kenneth Rohde Christiansen.
3567
3568         Chrome::contentsSizeChanged() is called when the content size has not changed
3569         https://bugs.webkit.org/show_bug.cgi?id=31978
3570
3571         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
3572
3573         * page/FrameView.cpp:
3574         (WebCore::FrameView::setContentsSize):
3575
3576 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3577
3578         Reviewed by Kenneth Rohde Christiansen.
3579
3580         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
3581         https://bugs.webkit.org/show_bug.cgi?id=31962
3582
3583         No new tests as there is no functional change.
3584
3585         * platform/network/ResourceHandle.h: Make destructor virtual as 
3586         after r50772 ResourceHandle has virtual functions.
3587
3588         * plugins/mac/PluginPackageMac.cpp: 
3589         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
3590         not a label
3591
3592         * plugins/mac/PluginViewMac.cpp:
3593         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
3594         specifier
3595
3596 2009-11-30  Xan Lopez  <xlopez@igalia.com>
3597
3598         Reviewed by Gustavo Noronha.
3599
3600         Add new headers to sources list.
3601
3602         * GNUmakefile.am:
3603
3604 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
3605
3606         Reviewed by Holger Freyther.
3607
3608         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
3609         
3610         Flash expects the value in record.where to be the global position for
3611         displaying the context menu.
3612         
3613         https://bugs.webkit.org/show_bug.cgi?id=31979
3614
3615         * plugins/mac/PluginViewMac.cpp:
3616         (WebCore::PluginView::handleMouseEvent):
3617
3618 2009-11-30  Steve Block  <steveblock@google.com>
3619
3620         Reviewed by Eric Seidel.
3621
3622         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
3623         https://bugs.webkit.org/show_bug.cgi?id=31925
3624
3625         This code uses ChromiumBridge and Chromium-specific constant values not
3626         appropriate for other platforms such as Android.
3627
3628         Build fix only, no new tests.
3629
3630         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
3631
3632 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
3633
3634         Build fix.
3635
3636         Correct draw signature used in ImageCairoWin.cpp.
3637
3638         * platform/graphics/win/ImageCairoWin.cpp:
3639         (WebCore::BitmapImage::getHBITMAPOfSize):
3640         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3641
3642 2009-11-28  Oliver Hunt  <oliver@apple.com>
3643
3644         Reviewed by Sam Weinig.
3645
3646         postMessage should serialize File objects
3647         https://bugs.webkit.org/show_bug.cgi?id=31955
3648
3649         Update SerializedScriptValue to include support for
3650         File objects in the serialized object graph.
3651
3652         * bindings/js/SerializedScriptValue.cpp:
3653         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
3654         (WebCore::SerializingTreeWalker::convertIfTerminal):
3655         (WebCore::DeserializingTreeWalker::convertIfTerminal):
3656         * bindings/js/SerializedScriptValue.h:
3657         (WebCore::SerializedScriptValueData::):
3658         (WebCore::SerializedScriptValueData::asString):
3659
3660 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
3661
3662         Reviewed by Dan Bernstein.
3663
3664         Optimize the hierarchy rebuilding of compositing layers
3665         https://bugs.webkit.org/show_bug.cgi?id=31879
3666         
3667         When updating the compositing layer hierarchy, instead of removing all
3668         child layers and then re-adding them one by one, build a vector of child
3669         layers, and set them in one go.
3670         
3671         * platform/graphics/GraphicsLayer.h:
3672         * platform/graphics/GraphicsLayer.cpp:
3673         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
3674         GraphicsLayers.
3675         
3676         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
3677         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
3678         * platform/graphics/mac/GraphicsLayerCA.mm: 
3679         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
3680         set the bit that notes that sublayers changed.
3681         * platform/graphics/win/GraphicsLayerCACF.cpp:
3682         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
3683         udpate sublayers, with a note that this is not efficient.
3684         
3685         * rendering/RenderLayerCompositor.h:
3686         * rendering/RenderLayerCompositor.cpp:
3687         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3688         When updating compositing layers, use the faster updateLayerTreeGeometry() if
3689         we know that no layer hierarchy changes are needed, and, at the root, use
3690         the vector returned from rebuildCompositingLayerTree() to attach the root
3691         layer.
3692         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
3693         collect child layers into Vectors of GraphicsLayers, which can be set as
3694         layer children in one go.
3695         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
3696         rebuildCompositingLayerTree() for simplicity, and called when we just need to
3697         update layer geometry, without doing any reparenting.
3698
3699 2009-11-29  Daniel Bates  <dbates@webkit.org>
3700
3701         Reviewed by Adam Barth.
3702
3703         https://bugs.webkit.org/show_bug.cgi?id=31971
3704
3705         Updated comment to reflect latest XSSAuditor bindings.
3706
3707         No functionality was changed. So, no new tests.
3708
3709         * page/XSSAuditor.h:
3710
3711 2009-11-29  Daniel Bates  <dbates@webkit.org>
3712
3713         Reviewed by Eric Seidel.
3714
3715         https://bugs.webkit.org/show_bug.cgi?id=31969
3716
3717         Removes unnecessary #include files.
3718
3719         No functionality was changed. So, no new tests.
3720
3721         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
3722         Pair.h
3723         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
3724         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
3725         * css/CSSFontSelector.cpp: Removed include NodeList.h
3726         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
3727         * css/CSSImageValue.cpp: Removed include RenderStyle.h
3728         * css/CSSImportRule.cpp: Removed include MediaList.h
3729         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
3730         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
3731         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
3732         CSSFontFaceSource.h, and CSSProperty.h
3733         * page/EventSource.h: Removed include EventListener.h
3734
3735 2009-11-29  Daniel Bates  <dbates@webkit.org>
3736
3737         Reviewed by Eric Seidel.
3738
3739         https://bugs.webkit.org/show_bug.cgi?id=31965
3740
3741         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
3742         forward declared it.
3743
3744         As a side effect, we need to #include KeyframeList.h in
3745         RenderLayerBacking.cpp.
3746
3747         No functionality was changed. So, no new tests.
3748
3749         * css/CSSStyleSelector.cpp:
3750         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
3751         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
3752
3753 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
3754
3755         Reviewed by Eric Seidel.
3756
3757         Continue to search for matching node in the case where multiple nodes
3758         have the same id.
3759         https://bugs.webkit.org/show_bug.cgi?id=31428
3760
3761         Test: fast/dom/Element/id-in-node-list-index01.html
3762
3763         * dom/DynamicNodeList.cpp:
3764         (WebCore::DynamicNodeList::itemWithName):
3765
3766 2009-11-29  Daniel Bates  <dbates@webkit.org>
3767
3768         Reviewed by Eric Seidel.
3769
3770         https://bugs.webkit.org/show_bug.cgi?id=31966
3771
3772         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
3773         forward declared it.
3774
3775         No functionality was changed. So, no new tests.
3776
3777         * page/animation/KeyframeAnimation.cpp:
3778         * page/animation/KeyframeAnimation.h:
3779
3780 2009-11-29  Daniel Bates  <dbates@webkit.org>
3781
3782         Unreviewed, fix change log entry date.
3783
3784         For some reason, bugzilla-tool did not update the date in the change
3785         log entry for my last commit (r51468). So, this commit fixes the date
3786         of that entry.
3787
3788 2009-11-29  Daniel Bates  <dbates@webkit.org>
3789
3790         Reviewed by Dan Bernstein.
3791
3792         https://bugs.webkit.org/show_bug.cgi?id=31964
3793
3794         Removed #include StringImpl, StyleImage. Instead, forward declared them.
3795         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
3796         since it seems we only really used it to include PassRefPtr.h.
3797
3798         No functionality was changed. So, no new tests.
3799
3800         * rendering/style/ContentData.h:
3801
3802 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
3803
3804         Reviewed by Eric Seidel.
3805
3806         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
3807         https://bugs.webkit.org/show_bug.cgi?id=31906
3808
3809         Inherits the following classes from Noncopyable because these are instantiated
3810         by 'new' and no need to be copyable:
3811
3812         class/struct name               - instantiated at: WebCore/'location'
3813
3814         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
3815         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
3816         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
3817         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
3818         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
3819         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
3820         class RenderOverflow            - rendering/RenderBox.cpp:2846
3821
3822         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
3823
3824         struct FillLayer                - css/CSSStyleSelector.cpp:197
3825         struct ShadowData               - rendering/style/ShadowData.cpp:35
3826         class CounterContent            - css/CSSStyleSelector.cpp:4111
3827
3828         * platform/ScrollbarTheme.h:
3829         * rendering/RenderOverflow.h:
3830         * rendering/RenderSelectionInfo.h:
3831         * rendering/style/CounterContent.h:
3832         * rendering/style/FillLayer.h:
3833         * rendering/style/ShadowData.h:
3834         * storage/DatabaseTracker.h:
3835         * storage/OriginUsageRecord.h:
3836         * storage/SQLTransactionClient.h:
3837         * storage/SQLTransactionCoordinator.h:
3838
3839 2009-11-28  Adam Barth  <abarth@webkit.org>
3840
3841         Reviewed by Dimitri Glazkov.
3842
3843         [Chromium] Sify compose button alerts error
3844         https://bugs.webkit.org/show_bug.cgi?id=31394
3845
3846         Test: http/tests/security/calling-versus-current.html
3847
3848         We're supposed to use the calling context for security checks.  In JSC
3849         land, this is the lexicalGlobalObject.
3850
3851         * bindings/v8/V8Proxy.cpp:
3852         (WebCore::V8Proxy::canAccessPrivate):
3853
3854 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
3855
3856         Unreviewed Chromium build fix introduced by r51428.
3857
3858         [Chromium] Ignore line-height CSS property for PushButton
3859         https://bugs.webkit.org/show_bug.cgi?id=31712
3860
3861         * rendering/RenderThemeChromiumSkia.cpp:
3862         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
3863
3864 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
3865
3866         Unreviewed Chromium test fix by reverting r51413.
3867
3868         [v8] Do not check the thread when accessing DOMDataStore
3869         https://bugs.webkit.org/show_bug.cgi?id=31877
3870
3871         * bindings/v8/V8DOMMap.cpp:
3872         (WebCore::getDOMNodeMap):
3873         (WebCore::getDOMObjectMap):
3874         (WebCore::getActiveDOMObjectMap):
3875         (WebCore::getDOMSVGElementInstanceMap):
3876         (WebCore::getDOMSVGObjectWithContextMap):
3877
3878 2009-11-27  Daniel Bates  <dbates@webkit.org>
3879
3880         Unreviewed, comment fix.
3881
3882         Corrected misspelling of the word "implemented".
3883
3884         * inspector/front-end/InjectedScriptAccess.js:
3885
3886 2009-11-27  Daniel Bates  <dbates@webkit.org>
3887
3888         Reviewed by Adam Barth.
3889
3890         https://bugs.webkit.org/show_bug.cgi?id=31940
3891
3892         Makes the error messages more descriptive when we refuse to load an object/embed or
3893         refuse to load from the document base URL.
3894
3895         * page/XSSAuditor.cpp:
3896         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
3897         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
3898
3899 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
3900
3901         Reviewed by Pavel Feldman.
3902
3903         This is a WebCore part of the fix that allows to view plugin
3904         resources loaded by plugins.
3905
3906         https://bugs.webkit.org/show_bug.cgi?id=31832
3907
3908         * inspector/InspectorController.cpp:
3909         (WebCore::InspectorController::willSendRequest):
3910         (WebCore::InspectorController::didReceiveResponse):
3911         (WebCore::InspectorController::didReceiveContentLength):
3912         (WebCore::InspectorController::didFinishLoading):
3913         (WebCore::InspectorController::didFailLoading):
3914         * inspector/InspectorController.h:
3915         * inspector/InspectorResource.cpp:
3916         (WebCore::InspectorResource::addLength):
3917         * loader/ResourceLoadNotifier.cpp:
3918         (WebCore::ResourceLoadNotifier::didFailToLoad):
3919         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
3920         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
3921         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
3922         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
3923
3924 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
3925
3926         Reviewed by Pavel Feldman.
3927
3928         Instead of generating negative identifiers for cached resources in
3929         InspectorController and extending identifier type from 'unsigned long' to 'long
3930         long' reuse progress tracker from the inspected page to generate those
3931         identifiers. It guarantees that InspectorResources have unique ids since
3932         all of them are generated by that progress tracker.
3933
3934         Added a couple new overloaded methods to Script* objects that accept
3935         long and unsigned long arguments. These types of argumens have already
3936         been passed as long long.
3937
3938         https://bugs.webkit.org/show_bug.cgi?id=31921
3939
3940         * bindings/js/ScriptFunctionCall.cpp:
3941         (WebCore::ScriptFunctionCall::appendArgument):
3942         * bindings/js/ScriptFunctionCall.h:
3943         * bindings/js/ScriptObject.cpp:
3944         (WebCore::ScriptObject::set):
3945         * bindings/js/ScriptObject.h:
3946         * bindings/v8/ScriptFunctionCall.cpp:
3947         (WebCore::ScriptFunctionCall::appendArgument):
3948         * bindings/v8/ScriptFunctionCall.h:
3949         * bindings/v8/ScriptObject.cpp:
3950         (WebCore::ScriptObject::set):
3951         * bindings/v8/ScriptObject.h:
3952         * inspector/InspectorBackend.cpp:
3953         (WebCore::InspectorBackend::dispatchOnInjectedScript):
3954         * inspector/InspectorController.cpp:
3955         (WebCore::InspectorController::InspectorController):
3956         (WebCore::InspectorController::getTrackedResource):
3957         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
3958         * inspector/InspectorController.h:
3959         * inspector/InspectorDOMAgent.cpp:
3960         (WebCore::InspectorDOMAgent::buildObjectForNode):
3961         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3962         * inspector/InspectorFrontend.cpp:
3963         (WebCore::InspectorFrontend::addResource):
3964         (WebCore::InspectorFrontend::updateResource):
3965         (WebCore::InspectorFrontend::removeResource):
3966         (WebCore::InspectorFrontend::updateFocusedNode):
3967         * inspector/InspectorFrontend.h:
3968         * inspector/InspectorResource.cpp:
3969         (WebCore::InspectorResource::InspectorResource):
3970         (WebCore::InspectorResource::createCached):
3971         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
3972         (WebCore::InspectorResource::create):
3973         (WebCore::InspectorResource::identifier):
3974         * inspector/TimelineRecordFactory.cpp:
3975         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
3976         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
3977         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
3978
3979 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
3980
3981         Reviewed by Dan Bernstein.
3982
3983         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
3984         https://bugs.webkit.org/show_bug.cgi?id=29966
3985
3986         When an empty inline element is clicked, the root inline box has
3987         no leaf children. Use the renderer of a normal child instead.
3988
3989         This change resolves Windows port's assertion failure in a layout test.
3990         Also, this fixes the behavior when a user drags the mouse from an
3991         empty inline element to above texts.
3992
3993         Test: editing/selection/last-empty-inline.html
3994
3995         * rendering/RenderBlock.cpp:
3996         (WebCore::RenderBlock::positionForPointWithInlineChildren):
3997
3998 2009-11-26  Kent Tamura  <tkent@chromium.org>
3999
4000         Reviewed by Eric Seidel.
4001
4002         [Chromium] Ignore line-height CSS property specified to push buttons on
4003         Windows and Linux.
4004         https://bugs.webkit.org/show_bug.cgi?id=31712
4005
4006         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
4007         following controls should ignore line-height CSS property.
4008          - <select>
4009          - <input type=button>
4010          - <input type=search>
4011         This change addresses the <input type=button> issue with Chromium/Windows
4012         and Chromium/Linux.
4013         
4014         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
4015         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
4016
4017 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
4018
4019         Reviewed by Eric Seidel.
4020
4021         Remove the special charset meta tag in the clipboard so that
4022         copy-and-paste with interchange breaklines/spaces works correctly
4023         within WebKit.
4024
4025         No new tests.  Layout tests that involve copy-and-paste with
4026         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
4027         should pass on Mac/Chromium with this fix.
4028
4029         * platform/chromium/ClipboardChromium.cpp:
4030         * platform/chromium/PasteboardChromium.cpp:
4031         (WebCore::Pasteboard::documentFragment):
4032
4033 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
4034
4035         Reviewed by Eric Seidel.
4036
4037         Compile with QT_NO_WHEELEVENT defined.
4038
4039         * platform/qt/WheelEventQt.cpp:
4040         (WebCore::PlatformWheelEvent::applyDelta):
4041
4042 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4043
4044         Reviewed by Oliver Hunt.
4045
4046         Move GOwnPtr* from wtf to wtf/gtk
4047         https://bugs.webkit.org/show_bug.cgi?id=31793
4048
4049         No new tests as there is no functional change.
4050
4051         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
4052           path for GOwnPtr.h.
4053         * platform/text/TextEncoding.cpp: Ditto.
4054         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
4055
4056 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
4057
4058         Not reviewed. Build fix: revert r51421.
4059
4060         * inspector/InspectorController.cpp:
4061         (WebCore::InspectorController::willSendRequest):
4062         (WebCore::InspectorController::didReceiveResponse):
4063         (WebCore::InspectorController::didReceiveContentLength):
4064         (WebCore::InspectorController::didFinishLoading):
4065         (WebCore::InspectorController::didFailLoading):
4066         * inspector/InspectorController.h:
4067         * inspector/InspectorResource.cpp:
4068         (WebCore::InspectorResource::addLength):
4069         * loader/ResourceLoadNotifier.cpp:
4070         (WebCore::ResourceLoadNotifier::didFailToLoad):
4071         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
4072         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
4073         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
4074         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
4075
4076 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
4077
4078         Reviewed by Pavel Feldman.
4079
4080         This is a WebCore part of the fix that allows to view plugin
4081         resources loaded by plugins.
4082
4083         https://bugs.webkit.org/show_bug.cgi?id=31832
4084
4085         * inspector/InspectorController.cpp:
4086         (WebCore::InspectorController::willSendRequest):
4087         (WebCore::InspectorController::didReceiveResponse):
4088         (WebCore::InspectorController::didReceiveContentLength):
4089         (WebCore::InspectorController::didFinishLoading):
4090         (WebCore::InspectorController::didFailLoading):
4091         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
4092         * inspector/InspectorResource.cpp:
4093         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
4094         * loader/ResourceLoadNotifier.cpp:
4095         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
4096         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
4097         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
4098         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
4099         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
4100
4101 2009-11-26  Daniel Bates  <dbates@webkit.org>
4102
4103         Reviewed by Pavel Feldman.
4104
4105         https://bugs.webkit.org/show_bug.cgi?id=21554
4106
4107         Implements support for hovering over <img> src to display the height and width of that image
4108         in a tooltip. Displays both the displayable and natural dimensions of the image.
4109
4110         Test: inspector/elements-img-tooltip.html
4111
4112         * inspector/front-end/ElementsTreeOutline.js:
4113         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
4114         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
4115         (WebInspector.ElementsTreeElement.prototype._updateTitle):
4116         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
4117         * inspector/front-end/ObjectProxy.js:
4118         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
4119         * inspector/front-end/inspector.js:
4120         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
4121         (WebInspector.linkifyURL): Ditto.
4122
4123 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
4124
4125         wx build fix after drawPattern API change.
4126
4127         * platform/graphics/wx/ImageWx.cpp:
4128         (WebCore::Image::drawPattern):
4129
4130 2009-11-26  Anton Muhin  <antonm@chromium.org>
4131
4132         Reviewed by Adam Barth.
4133
4134         Use an internal field instead of hidden property to speedup lookup
4135         of entered isolated world.
4136
4137         Plus some inlinings.
4138         https://bugs.webkit.org/show_bug.cgi?id=31884
4139
4140         Covered by layout tests + manual running of some benchmarks as
4141         content scripts.
4142
4143         * bindings/v8/V8DOMWrapper.cpp:
4144         * bindings/v8/V8DOMWrapper.h:
4145         (WebCore::V8DOMWrapper::setDOMWrapper):
4146         * bindings/v8/V8HiddenPropertyName.h:
4147         * bindings/v8/V8IsolatedWorld.cpp:
4148         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
4149         * bindings/v8/V8IsolatedWorld.h:
4150         (WebCore::V8IsolatedWorld::getEntered):
4151         (WebCore::V8IsolatedWorld::getGlobalObject):
4152         * bindings/v8/custom/V8CustomBinding.h:
4153
4154 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4155
4156         Reviewed by Kenneth Rohde Christiansen.
4157
4158         [Qt] Corrects build break on Windows.
4159
4160         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
4161         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
4162
4163         * WebCore.pro:
4164         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
4165         (WebCore::findNextWordFromIndex):
4166         (WebCore::findWordBoundary):
4167
4168 2009-11-26  Anton Muhin  <antonm@chromium.org>
4169
4170         Reviewed by Adam Barth.
4171
4172         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
4173         https://bugs.webkit.org/show_bug.cgi?id=31877
4174
4175         Covered by layout tests and buildbots.
4176
4177         * bindings/v8/V8DOMMap.cpp:
4178         (WebCore::getDOMNodeMap):
4179         (WebCore::getDOMObjectMap):
4180         (WebCore::getActiveDOMObjectMap):
4181         (WebCore::getDOMSVGElementInstanceMap):
4182         (WebCore::getDOMSVGObjectWithContextMap):
4183
4184 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
4185
4186         Reviewed by Holger Freyther.
4187
4188         [Qt] Mac Plugins : Pass mouse position relative to the fake window
4189         
4190         When using off-screen rendering, we need to pass mouse events relative
4191         to the fake window instead of the global position.
4192         
4193         https://bugs.webkit.org/show_bug.cgi?id=31794
4194
4195         * plugins/mac/PluginViewMac.cpp:
4196         (WebCore::PluginView::platformStart):
4197         (WebCore::PluginView::handleMouseEvent):
4198
4199 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
4200
4201         Reviewed by Eric Seidel.
4202
4203         [Qt] Use QNetworkReply::rawHeaderPairs
4204         https://bugs.webkit.org/show_bug.cgi?id=31826
4205
4206         The QNetworkReply is internally storing the HTTP headers
4207         as a list of pairs. Currently we have to ask the QNetworkReply
4208         to put all header names into a QStringList. Afterwards we will
4209         iterate over this QStringList and ask the QNetworkReply to
4210         give us the value for this header name. The current Qt implementation
4211         is doing a linear to find the header value.
4212
4213         Use a new API to directly access the list of pairs and push
4214         this into WebCore. This avoids doing some allocations and doing
4215         linear searches from within a loop.
4216
4217         * platform/network/qt/QNetworkReplyHandler.cpp:
4218         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
4219
4220 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
4221
4222         Reviewed by Kenneth Rohde Christiansen.
4223
4224         [Qt] Add Qt specific information of RenderPart
4225         https://bugs.webkit.org/show_bug.cgi?id=31203
4226
4227         The WebCore::Widget of the RenderPart (RenderWidget) might be
4228         backed with a platform widget. Print both the WebCore::Widget
4229         and platform widget state. In the above bug we had a problem
4230         that the WebCore::Widget was invisible but the QWidget was
4231         visible.
4232
4233         * rendering/RenderTreeAsText.cpp:
4234         (WebCore::operator<<): Add