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