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