2009-07-14 Dmitry Titov <dimich@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-07-14  Dmitry Titov  <dimich@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         https://bugs.webkit.org/show_bug.cgi?id=27266
6         Add hasCurrentPoint() to WebCore::Path.
7         This fixes Skia-based Chromium regression caused by the fix for
8         https://bugs.webkit.org/show_bug.cgi?id=27187.
9         For Skia, the new method always returns 'true', pending actual implementation.
10         This means Chromium still will differ from Gecko behavior, but at least its Canvas
11         will not be completely broken.
12
13         Existing Canvas Layout Tests should pass in Chromium after this change.
14
15         * html/CanvasRenderingContext2D.cpp:
16         (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
17         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
18         (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
19
20         * platform/graphics/Path.h:
21         * platform/graphics/cairo/PathCairo.cpp:
22         (WebCore::Path::hasCurrentPoint):
23         * platform/graphics/cg/PathCG.cpp:
24         (WebCore::Path::isEmpty):
25         (WebCore::Path::hasCurrentPoint):
26         * platform/graphics/qt/PathQt.cpp:
27         (WebCore::Path::hasCurrentPoint):
28         * platform/graphics/skia/PathSkia.cpp:
29         (WebCore::Path::hasCurrentPoint):
30         * platform/graphics/wx/PathWx.cpp:
31         (WebCore::Path::hasCurrentPoint):
32         All these files add a Path::hasCurrentPoint() for various platforms.
33
34 2009-07-14  Nate Chapin  <japhet@chromium.org>
35
36         Reviewed by Sam Weinig.
37
38         Upstream RGBColor from src.chromium.org.
39
40         https://bugs.webkit.org/show_bug.cgi?id=27133
41
42         * WebCore.gypi: Add RGBColor
43         * css/RGBColor.cpp: Added.
44         (WebCore::RGBColor::create):
45         (WebCore::RGBColor::red):
46         (WebCore::RGBColor::green):
47         (WebCore::RGBColor::blue):
48         * css/RGBColor.h: Added.
49         (WebCore::RGBColor::RGBColor):
50
51 2009-07-10  Matt Perry  <mpcomplete@chromium.org>
52
53         Reviewed by Darin Fisher.
54
55         [V8] Rename the didCreate/DestroyScriptContext calls to make it
56         clear that that those refer to the frame's contxt.  Add another
57         similar call for when creating contexts via evaluateInNewContext.
58         https://bugs.webkit.org/show_bug.cgi?id=27104
59
60         * bindings/v8/V8Proxy.cpp:
61         (WebCore::V8Proxy::evaluateInNewContext):
62         (WebCore::V8Proxy::disposeContextHandles):
63         (WebCore::V8Proxy::initContextIfNeeded):
64         * loader/EmptyClients.h:
65         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
66         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
67         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
68         * loader/FrameLoaderClient.h:
69
70 2009-07-14  Brent Fulgham  <bfulgham@webkit.org>
71
72         Revert http://trac.webkit.org/changeset/45864 after
73         breaking of Windows build.
74
75         * storage/LocalStorageTask.cpp:
76         * storage/LocalStorageTask.h:
77         * storage/Storage.cpp:
78         * storage/Storage.h:
79         * storage/StorageArea.cpp:
80         * storage/StorageArea.h:
81         * storage/StorageAreaImpl.cpp:
82         * storage/StorageAreaImpl.h:
83         * storage/StorageAreaSync.cpp:
84         * storage/StorageAreaSync.h:
85         * storage/StorageEvent.cpp:
86         * storage/StorageEvent.h:
87         (WebCore::StorageEvent::create):
88         (WebCore::StorageEvent::StorageEvent):
89         * storage/StorageNamespace.h:
90         * storage/StorageNamespaceImpl.cpp:
91         * storage/StorageNamespaceImpl.h:
92         * storage/StorageSyncManager.cpp:
93         * storage/StorageSyncManager.h:
94
95 2009-07-11  Jeremy Orlow  <jorlow@chromium.org>
96
97         Reviewed by Darin Adler.
98
99         Cleanup DOM Storage dependencies.
100         https://bugs.webkit.org/show_bug.cgi?id=27180
101
102         DOM Storage had several unnecessary (and probably unintended)
103         dependencies.  This patch replaces many includes of header files with
104         forward declaration of classes, making some destructors explicit, and
105         taking some factories out of the header files.
106
107         This will allow things like StorageAreaSync to take a StorageAreaImpl*
108         (as it should) rather than a StorageArea* which previously weren't
109         possible because the dependencies were such a tangled mess.
110
111         * storage/LocalStorageTask.cpp:
112         (WebCore::LocalStorageTask::~LocalStorageTask):
113         * storage/LocalStorageTask.h:
114         * storage/Storage.cpp:
115         (WebCore::Storage::~Storage):
116         * storage/Storage.h:
117         * storage/StorageArea.cpp:
118         * storage/StorageArea.h:
119         * storage/StorageAreaImpl.cpp:
120         * storage/StorageAreaImpl.h:
121         * storage/StorageAreaSync.cpp:
122         (WebCore::StorageAreaSync::~StorageAreaSync):
123         * storage/StorageAreaSync.h:
124         * storage/StorageEvent.cpp:
125         (WebCore::StorageEvent::create):
126         (WebCore::StorageEvent::StorageEvent):
127         * storage/StorageEvent.h:
128         * storage/StorageNamespace.h:
129         * storage/StorageNamespaceImpl.cpp:
130         * storage/StorageNamespaceImpl.h:
131         * storage/StorageSyncManager.cpp:
132         (WebCore::StorageSyncManager::~StorageSyncManager):
133         * storage/StorageSyncManager.h:
134
135
136 2009-07-14  Adam Treat  <adam.treat@torchmobile.com>
137
138         Reviewed by David Hyatt.
139
140         https://bugs.webkit.org/show_bug.cgi?id=26983
141
142         Check to make sure the view is attached to a frame() in the visibleContentsResized()
143         method as it can be triggered before the view is attached by Frame::createView(...)
144         setting various values such as setScrollBarModes(...) for example.  An ASSERT is
145         triggered when a view is layout before being attached to a frame().
146
147         * page/FrameView.cpp:
148         (WebCore::FrameView::visibleContentsResized):
149         * page/FrameView.h:
150
151 2009-07-14  Pavel Feldman  <pfeldman@chromium.org>
152
153         Reviewed by Timothy Hatcher.
154
155         WebInspector: show last opened panel when invoking inspector.
156
157         https://bugs.webkit.org/show_bug.cgi?id=27263
158
159         * inspector/InspectorController.cpp:
160         (WebCore::InspectorController::InspectorController):
161         (WebCore::InspectorController::setWindowVisible):
162         (WebCore::InspectorController::storeLastActivePanel):
163         (WebCore::InspectorController::specialPanelForJSName):
164         * inspector/InspectorController.h:
165         (WebCore::InspectorController::Setting::Setting):
166         * inspector/InspectorController.idl:
167         * inspector/front-end/inspector.js:
168         (WebInspector.set currentPanel):
169         (WebInspector.loaded):
170
171 2009-07-14  Anton Muhin  <antonm@chromium.org>
172
173         Reviewed by Dimitri Glazkov.
174
175         Speed up access to NodeList length.
176         https://bugs.webkit.org/show_bug.cgi?id=27264
177
178         That's a minimal alternation of the code.
179
180         * bindings/v8/custom/V8NodeListCustom.cpp:
181         (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
182         v8::Integer::New instead of v8::Number::New.
183
184 2009-07-14  Anton Muhin  <antonm@chromium.org>
185
186         Reviewed by Dimitri Glazkov.
187
188         Do not do unnecessary conversions from v8::Handle<v8::Value> to
189         v8::Handle<v8::Object> and accompanying changes.
190         https://bugs.webkit.org/show_bug.cgi?id=26953
191
192         Three things:
193
194         1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
195         but are not free (they check for emptiness of handle);
196         2) inline conversion from wrapper to node;
197         3) simplify case to an ASSERT.
198
199         This is just a refactoring, so no new tests are needed.
200
201         * bindings/scripts/CodeGeneratorV8.pm:
202         * bindings/v8/V8Proxy.cpp:
203         (WebCore::V8Proxy::evaluateInNewContext):
204         (WebCore::V8Proxy::convertToSVGPODTypeImpl):
205         * bindings/v8/V8Proxy.h:
206         (WebCore::V8Proxy::convertDOMWrapperToNative):
207         (WebCore::V8Proxy::convertToNativeObject):
208         (WebCore::V8Proxy::convertToNativeEvent):
209         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
210         (WebCore::toCanvasStyle):
211         (WebCore::CALLBACK_FUNC_DECL):
212         * bindings/v8/custom/V8CustomBinding.cpp:
213         (WebCore::V8Custom::GetTargetFrame):
214         * bindings/v8/custom/V8DOMWindowCustom.cpp:
215         (WebCore::CALLBACK_FUNC_DECL):
216         (WebCore::V8Custom::ClearTimeoutImpl):
217         (WebCore::NAMED_ACCESS_CHECK):
218         (WebCore::INDEXED_ACCESS_CHECK):
219         * bindings/v8/custom/V8DocumentCustom.cpp:
220         (WebCore::CALLBACK_FUNC_DECL):
221         * bindings/v8/custom/V8LocationCustom.cpp:
222         (WebCore::CALLBACK_FUNC_DECL):
223
224 2009-07-14  Darin Adler  <darin@apple.com>
225
226         Reviewed by Dan Bernstein.
227
228         Straight quotes should match fancy quotes in in-page search
229         https://bugs.webkit.org/show_bug.cgi?id=27217
230
231         Tests: fast/text/find-quotes.html
232
233         * editing/TextIterator.cpp:
234         (WebCore::foldQuoteMark): Added.
235         (WebCore::foldQuoteMarks): Added.
236         (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
237         (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
238         added to the search buffer.
239
240         * platform/text/CharacterNames.h: Added more quotation mark character names.
241         Sorted character names with the sort tool.
242
243 2009-07-13  Pavel Feldman  <pfeldman@chromium.org>
244
245         Reviewed by Timothy Hatcher.
246
247         WebInspector: handle debugger shortcuts while on source frame or on
248         script file selector.
249
250         https://bugs.webkit.org/show_bug.cgi?id=27224
251
252         * inspector/front-end/ScriptsPanel.js:
253         (WebInspector.ScriptsPanel):
254         * inspector/front-end/SourceFrame.js:
255         (WebInspector.SourceFrame.prototype._loaded):
256
257 2009-07-13  Sam Weinig  <sam@webkit.org>
258
259         Reviewed by Darin Adler.
260
261         Use standard HashCountedSet instead of a hand rolled one
262         in HTMLDocument.
263
264         * html/HTMLDocument.cpp:
265         (WebCore::addItemToMap):
266         (WebCore::removeItemFromMap):
267         * html/HTMLDocument.h:
268
269 2009-07-13  Erik Arvidsson  <arv@chromium.org>
270
271         Reviewed by Darin Adler and Maciej Stachowiak.
272
273         Implement HTML5 draggable
274         https://bugs.webkit.org/show_bug.cgi?id=26262
275
276         This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
277         to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
278
279         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
280
281         Test: fast/html/draggable.html
282
283         * css/html.css:
284         * html/HTMLAnchorElement.cpp:
285         (WebCore::HTMLAnchorElement::draggable):
286         * html/HTMLAnchorElement.h:
287         * html/HTMLAttributeNames.in:
288         * html/HTMLElement.cpp:
289         (WebCore::HTMLElement::draggable):
290         (WebCore::HTMLElement::setDraggable):
291         * html/HTMLElement.h:
292         * html/HTMLElement.idl:
293         * html/HTMLImageElement.cpp:
294         (WebCore::HTMLImageElement::draggable):
295         * html/HTMLImageElement.h:
296
297 2009-07-13  Simon Fraser  <simon.fraser@apple.com>
298
299         Reviewed by Dan Bernstein.
300
301         Image rendered as layer contents looks different from image rendered via CG.
302         <rdar://problem/7048830> 
303         
304         Fix a visible color profile difference between between images rendered via Core Graphics
305         and those rendered via a compositing layer, by assigning the GenericRGB profile to
306         untagged images (which come through as having the DeviceRGB profile) when they are set
307         as layer contents.
308
309         Test: compositing/color-matching/image-color-matching.html
310
311         * platform/graphics/mac/GraphicsLayerCA.mm:
312         (WebCore::GraphicsLayerCA::setContentsToImage):
313
314 2009-07-13  Darin Adler  <darin@apple.com>
315
316         Reviewed by Oliver Hunt.
317
318         https://bugs.webkit.org/show_bug.cgi?id=27220
319         Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
320
321         * editing/TextIterator.cpp:
322         (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
323         in the assertion. Affects only the assertion.
324
325 2009-07-13  Alexey Proskuryakov  <ap@webkit.org>
326
327         Reviewed by Darin Adler.
328
329         https://bugs.webkit.org/show_bug.cgi?id=26925
330         <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
331
332         Test: http/tests/appcache/main-resource-hash.html
333
334         * loader/appcache/ApplicationCache.cpp:
335         (WebCore::ApplicationCache::resourceForURL):
336         (WebCore::ApplicationCache::resourceForRequest):
337         * loader/appcache/ApplicationCacheGroup.cpp:
338         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
339         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
340         (WebCore::ApplicationCacheGroup::selectCache):
341         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
342         (WebCore::ApplicationCacheGroup::didReceiveResponse):
343         (WebCore::ApplicationCacheGroup::didFail):
344         (WebCore::ApplicationCacheGroup::addEntry):
345         Remove URL fragment at appcache code borders.
346
347         * loader/appcache/ApplicationCacheResource.h:
348         (WebCore::ApplicationCacheResource::create):
349         * loader/appcache/ApplicationCacheStorage.cpp:
350         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
351         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
352         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
353         Assert that there is no URL fragment in URL at key points in appcache code.
354
355 2009-07-13  Darin Adler  <darin@apple.com>
356
357         Reviewed by Dan Bernstein.
358
359         https://bugs.webkit.org/show_bug.cgi?id=27166
360         rdar://problem/7015857
361         Find for strings composed entirely of spaces doesn't work
362
363         Test: fast/text/find-spaces.html
364
365         * editing/TextIterator.cpp:
366         (WebCore::findPlainText): Removed unneeded special case.
367         The empty string case already works correctly.
368
369 2009-07-13  Anders Carlsson  <andersca@apple.com>
370
371         Reviewed by Kevin Decker.
372
373         Remove NPPVpluginPrivateModeBool, it was removed from the spec.
374         
375         * bridge/npapi.h:
376
377 2009-07-13  Feng Qian  <feng@chromium.org>
378
379         Reviewed by Dimitri Glazkov.
380
381         Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
382
383         Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  
384
385         * bindings/v8/V8DOMMap.h:
386         (WebCore::WeakReferenceMap::WeakReferenceMap):
387         (WebCore::WeakReferenceMap::~WeakReferenceMap):
388
389 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
390
391         Reviewed by Darin Fisher.
392
393         Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
394
395         * WebCore.gypi: Removed bidi.cpp and bidi.h
396
397 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
398
399         Reviewed by Darin Fisher.
400
401         Update WebCore.gyp in preparation to hooking it up.
402
403         * WebCore.gypi: Added files that were mid-stream while switching over.
404
405 2009-07-13  Dmitry Titov  <dimich@chromium.org>
406
407         Not reviewed, another small fix for Chromium build.
408
409         * bindings/v8/ScriptController.cpp:
410         (WebCore::ScriptController::evaluate):
411
412 2009-07-13  Dmitry Titov  <dimich@chromium.org>
413
414         Not reviewed, fix Chromium build bustage.
415
416         * bindings/v8/ScriptController.cpp:
417         (WebCore::ScriptController::evaluate):
418         * bindings/v8/V8Proxy.cpp:
419         (WebCore::JavaScriptConsoleMessage::addToPage):
420         * bindings/v8/WorkerContextExecutionProxy.cpp:
421         (WebCore::handleConsoleMessage):
422
423 2009-07-13  Sam Weinig  <sam@webkit.org>
424
425         Reviewed by Darin Adler.
426
427         Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
428         <rdar://problem/7054356>
429
430         Add null page check in HTMLDocument::hasFocus.
431
432         Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
433
434         * html/HTMLDocument.cpp:
435         (WebCore::HTMLDocument::hasFocus): Add page null check.
436         (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
437
438 2009-07-13  Dan Bernstein  <mitz@apple.com>
439
440         Reviewed by Darin Adler.
441
442         Disable continuous spell checking in the inspector
443         https://bugs.webkit.org/show_bug.cgi?id=27131
444
445         * inspector/front-end/inspector.html: Added spellcheck="false" to the
446             main-panels and console-prompt containers.
447
448 2009-07-13  Adam Langley  <agl@google.com>
449
450         Reviewed by Eric Seidel.
451
452         Chromium Linux: fix assertion when rendering google.com.kh
453
454         https://bugs.webkit.org/show_bug.cgi?id=26924
455
456         Some shapers (i.e. Khmer) will produce cluster logs which report that
457         /no/ code points contributed to certain glyphs. Because of this, we
458         take any code point which contributed to the glyph in question, or any
459         subsequent glyph.  If we run off the end, then we take the last code
460         point.
461
462         Added LayoutTests/fast/text/international/khmar-selection.html
463
464         * platform/graphics/chromium/FontLinux.cpp:
465         (WebCore::Font::offsetForPositionForComplexText):
466
467 2009-07-13  Dan Bernstein  <mitz@apple.com>
468
469         Reviewed by Darin Adler.
470
471         spellcheck="false" is ignored
472         <rdar://problem/7054177>
473
474         * editing/Editor.cpp:
475         (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
476             spellcheck attribute from here...
477         (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
478         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
479             if spell chcking is disabled by the spellcheck attribute.
480         * editing/Editor.h:
481
482 2009-07-13  Brent Fulgham  <bfulgham@webkit.org>
483
484         Reviewed by Adam Roben.
485
486         Add new configuration flag for redistributable Windows build.
487         https://bugs.webkit.org/show_bug.cgi=27087
488         
489         * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
490           Debug_Cairo and Release_Cairo builds.
491         * config.h: Check for presence of WIN_CAIRO and select appropriate
492           configuration.  Defaults to standard Apple build.
493
494 2009-07-13  Peter Kasting  <pkasting@google.com>
495
496         https://bugs.webkit.org/show_bug.cgi?id=19562
497         Back out previous patch for this bug (too many problems).
498
499         * DerivedSources.cpp:
500         * DerivedSources.make:
501         * GNUmakefile.am:
502         * WebCore.gypi:
503         * WebCore.pro:
504         * WebCore.vcproj/WebCore.vcproj:
505         * WebCore.xcodeproj/project.pbxproj:
506         * WebCoreSources.bkl:
507         * html/HTMLButtonElement.idl:
508         * html/HTMLFieldSetElement.idl:
509         * html/HTMLFormControlElement.cpp:
510         * html/HTMLFormControlElement.h:
511         (WebCore::HTMLFormControlElement::form):
512         * html/HTMLInputElement.idl:
513         * html/HTMLSelectElement.idl:
514         * html/HTMLTextAreaElement.idl:
515         * html/ValidityState.cpp: Removed.
516         * html/ValidityState.h: Removed.
517         * html/ValidityState.idl: Removed.
518
519 2009-07-13  Nate Chapin  <japhet@chromium.org>
520
521         Reviewed by Dimitri Glazkov.
522
523         Add HTMLAllCollection to WebCore.gypi.
524
525         https://bugs.webkit.org/show_bug.cgi?id=27223
526
527         * WebCore.gypi: Add HTMLAllCollection.
528
529 2009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
530
531         Reviewed by Darin Fisher.
532
533         [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
534         https://bugs.webkit.org/show_bug.cgi?id=27218
535
536         Test: fast/css/matrix-as-function-crash.html
537
538         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
539         (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
540
541 2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
542
543         Unreviewed make dist build fix.
544
545         * GNUmakefile.am:
546
547 2009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
548
549         Reviewed by Tor Arne Vestbø.
550
551         Fix NPWindow clip rect in PluginViewMac
552
553         The rect should be in window-coordinates. This bug can be observed
554         with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
555
556         * plugins/mac/PluginViewMac.cpp:
557
558 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
559
560         Reviewed by Ariya Hidayat.
561
562         Fix Qt implementation of WebCore::directoryName to return the absolute
563         directory name instead of the base file name.
564
565         * platform/qt/FileSystemQt.cpp:
566         (WebCore::directoryName):
567
568 2009-07-13  Simon Hausmann  <hausmann@webkit.org>
569
570         Reviewed by Ariya Hidayat.
571
572         Fix WebCore::Path::isEmpty() for the Qt port to return true
573         if there is no element in the path.
574
575         QPainterPath::isEmpty() returns also true if there is one single
576         MoveTo element inside, which makes sense but doesn't patch Webcore's
577         is-empty definition.
578
579         * platform/graphics/qt/PathQt.cpp:
580         (WebCore::Path::isEmpty): Use elementCount() == 0.
581
582 2009-07-13  Albert J. Wong  <ajwong@chromium.org>
583
584         Reviewed by Dimitri Glazkov.
585
586         Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
587         https://bugs.webkit.org/show_bug.cgi?id=27127
588
589         There were a number of bugs introduced during the last upstreaming
590         effort that broke around 30 layout tests.  This fixes those bugs.
591         It also has compile fixes to match the recent cutting apart of
592         V8Proxy.
593
594         * bindings/v8/NPV8Object.cpp:
595         (freeV8NPObject):
596         (npCreateV8ScriptObject):
597         (NPN_Invoke):
598         (NPN_InvokeDefault):
599         (NPN_EvaluateHelper):
600         (NPN_SetException):
601         (NPN_Construct):
602
603 2009-07-13  Mads Ager  <ager@chromium.org>
604
605         Reviewed by Adam Barth.
606
607         Fix memory leak in the V8 binding layer. 
608         https://bugs.webkit.org/show_bug.cgi?id=27163
609
610         Reinitializing the context is not necessary when clearing the proxy for navigation
611         and it will lead us to hold on to an empty context for each frame.
612
613         Test for empty context instead of empty global object handle when
614         updating the document for a context.
615
616         * bindings/v8/V8Proxy.cpp:
617         (WebCore::V8Proxy::clearForNavigation):
618         (WebCore::V8Proxy::updateDocument):
619
620 2009-07-13  John Gregg  <johnnyg@google.com>
621
622         Reviewed by David Levin.
623
624         Correct the logic to determine if a V8 callback returns a value.
625         https://bugs.webkit.org/show_bug.cgi?id=27155
626
627         * bindings/v8/custom/V8CustomVoidCallback.cpp:
628         (WebCore::invokeCallback):
629         - Don't crash if result.IsEmpty().
630
631 2009-07-13  Drew Wilson  <atwilson@google.com>
632
633         Reviewed by David Levin.
634
635         Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
636         https://bugs.webkit.org/show_bug.cgi?id=26932
637
638         Initial IDL definition and bindings for SharedWorkers.
639
640         * Configurations/FeatureDefines.xcconfig:
641         Added new files for SharedWorker support.
642         * DerivedSources.make:
643         Added new files for SharedWorker support.
644         * GNUmakefile.am:
645         Added new files for SharedWorker support.
646         * WebCore.gypi:
647         Added new files for SharedWorker support.
648         * WebCore.pro:
649         Added new files for SharedWorker support.
650         * WebCore.xcodeproj/project.pbxproj:
651         Added new files for SharedWorker support.
652         * bindings/js/JSAbstractWorkerCustom.cpp: Added.
653         (WebCore::JSAbstractWorker::mark):
654         Custom mark handler that marks the event listeners.
655         (WebCore::JSAbstractWorker::addEventListener):
656         (WebCore::JSAbstractWorker::removeEventListener):
657         (WebCore::JSAbstractWorker::toJS):
658         Custom toJS handler which differentiates between various subclasses.
659         * bindings/js/JSDOMWindowCustom.cpp:
660         (WebCore::JSDOMWindow::sharedWorker):
661         SharedWorker constructor (only enabled when SHARED_WORKERS is
662         enabled).
663         * bindings/js/JSEventTarget.cpp:
664         (WebCore::toJS):
665         (WebCore::toEventTarget):
666         Added support for converting to/from SharedWorkers.
667         * bindings/js/JSSharedWorkerConstructor.cpp: Added.
668         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
669         (WebCore::constructSharedWorker):
670         (WebCore::JSSharedWorkerConstructor::getConstructData):
671         * bindings/js/JSSharedWorkerConstructor.h: Added.
672         (WebCore::JSSharedWorkerConstructor::classInfo):
673         * bindings/js/JSSharedWorkerCustom.cpp: Added.
674         (WebCore::JSSharedWorker::mark):
675         Custom mark function that marks the internal MessagePort.
676         * bindings/v8/DOMObjectsInclude.h:
677         Updated to include new header files.
678         * bindings/v8/V8Index.cpp:
679         * bindings/v8/V8Index.h:
680         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
681         (WebCore::getEventListener):
682         (WebCore::ACCESSOR_GETTER):
683         (WebCore::ACCESSOR_SETTER):
684         (WebCore::CALLBACK_FUNC_DECL):
685         V8 handlers for add/removeEventListener().
686         * bindings/v8/custom/V8CustomBinding.h:
687         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
688         (WebCore::CALLBACK_FUNC_DECL):
689         Custom constructor for SharedWorker.
690         * dom/EventTarget.cpp:
691         (WebCore::EventTarget::toSharedWorker):
692         * dom/EventTarget.h:
693         * page/DOMWindow.idl:
694         * workers/AbstractWorker.cpp: Added.
695         (WebCore::AbstractWorker::AbstractWorker):
696         Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
697         This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
698         (WebCore::AbstractWorker::~AbstractWorker):
699         (WebCore::AbstractWorker::addEventListener):
700         (WebCore::AbstractWorker::removeEventListener):
701         (WebCore::AbstractWorker::dispatchEvent):
702         (WebCore::AbstractWorker::dispatchLoadErrorEvent):
703         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
704         * workers/AbstractWorker.h: Added.
705         Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
706         (WebCore::AbstractWorker::scriptExecutionContext):
707         (WebCore::AbstractWorker::setOnerror):
708         (WebCore::AbstractWorker::onerror):
709         (WebCore::AbstractWorker::eventListeners):
710         (WebCore::AbstractWorker::refEventTarget):
711         (WebCore::AbstractWorker::derefEventTarget):
712         * workers/AbstractWorker.idl: Added.
713         * workers/SharedWorker.cpp: Added.
714         (WebCore::SharedWorker::SharedWorker):
715         (WebCore::SharedWorker::~SharedWorker):
716         * workers/SharedWorker.h: Added.
717         (WebCore::SharedWorker::create):
718         (WebCore::SharedWorker::port):
719         (WebCore::SharedWorker::toSharedWorker):
720         * workers/SharedWorker.idl: Added.
721
722 2009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
723
724         Reviewed by Simon Hausmann.
725
726         [Qt] Cleanup - Remove prf install target
727         https://bugs.webkit.org/show_bug.cgi?id=27191
728
729         qtwebkit.prf has been removed; this cleans up the related
730         install target as well.
731
732         * WebCore.pro: Remove prf install target
733
734 2009-07-12  Adam Barth  <abarth@webkit.org>
735
736         Reviewed by Oliver Hunt.
737
738         Facebook Chat is broken due to XSS auditor
739         https://bugs.webkit.org/show_bug.cgi?id=27179
740
741         Instead of just using the script's URL as to detect an XSS attack, we
742         now use a bit of context before the URL.  In particular, we use the
743         bytes from the beginning of the attribute name to the end of the
744         attribute value.  In virtually all injection attacks, the attacker
745         would need to supply the attribute name as well as the attribute value.
746         However, in the Facebook false positive, the attribute name is not
747         present in the URL.
748
749         Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
750                http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
751                http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
752
753         * html/HTMLTokenizer.cpp:
754         (WebCore::HTMLTokenizer::parseTag):
755         * html/HTMLTokenizer.h:
756         * page/XSSAuditor.cpp:
757         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
758         * page/XSSAuditor.h:
759
760 2009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
761
762         Reviewed by Timothy Hatcher.
763
764         Refactor ConsoleMessage to add MessageType attribute.
765         https://bugs.webkit.org/show_bug.cgi?id=20625
766
767         * bindings/js/JSCustomXPathNSResolver.cpp:
768         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
769         * bindings/js/JSDOMWindowBase.cpp:
770         (WebCore::JSDOMWindowBase::printErrorMessage):
771         * dom/Document.cpp:
772         (WebCore::Document::reportException):
773         (WebCore::Document::addMessage):
774         * dom/Document.h:
775         * dom/ScriptExecutionContext.h:
776         * html/HTMLParser.cpp:
777         (WebCore::HTMLParser::reportErrorToConsole):
778         * inspector/ConsoleMessage.cpp:
779         (WebCore::ConsoleMessage::ConsoleMessage):
780         (WebCore::ConsoleMessage::addToConsole):
781         (WebCore::ConsoleMessage::isEqual):
782         * inspector/ConsoleMessage.h:
783         * inspector/InspectorController.cpp:
784         (WebCore::InspectorController::addMessageToConsole):
785         (WebCore::InspectorController::startGroup):
786         (WebCore::InspectorController::endGroup):
787         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
788         (WebCore::InspectorController::addStartProfilingMessageToConsole):
789         (WebCore::InspectorController::count):
790         * inspector/InspectorController.h:
791         * inspector/front-end/Console.js:
792         (WebInspector.Console.prototype.addMessage):
793         (WebInspector.ConsoleMessage): Added type property.
794         (WebInspector.ConsoleMessage.prototype.toMessageElement):
795         (WebInspector.ConsoleMessage.prototype.toString):
796         (WebInspector.ConsoleMessage.prototype.isEqual):
797         (WebInspector.ConsoleCommandResult):
798         (WebInspector.ConsoleGroup.prototype.addMessage):
799         (WebInspector.ConsoleGroup.prototype._titleClicked):
800         * inspector/front-end/Resource.js:
801         (WebInspector.Resource.prototype._addTip):
802         (WebInspector.Resource.prototype._checkWarning):
803         * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
804         * inspector/front-end/inspector.js:
805         (WebInspector.addMessageToConsole):
806         * loader/DocLoader.cpp:
807         (WebCore::DocLoader::printAccessDeniedMessage):
808         * loader/EmptyClients.h:
809         (WebCore::EmptyChromeClient::addMessageToConsole):
810         * loader/FrameLoader.cpp:
811         (WebCore::FrameLoader::reportLocalLoadFailed):
812         (WebCore::FrameLoader::shouldAllowNavigation):
813         * page/ChromeClient.h:
814         * page/Console.cpp:
815         (WebCore::printMessageSourceAndLevelPrefix):
816         (WebCore::Console::addMessage):
817         (WebCore::Console::error):
818         (WebCore::Console::log):
819         (WebCore::Console::dir):
820         (WebCore::Console::trace):
821         (WebCore::Console::assertCondition):
822         (WebCore::Console::timeEnd):
823         (WebCore::Console::warn):
824         * page/Console.h: Added MessageType enum.
825         (WebCore::):
826         * page/DOMWindow.cpp:
827         (WebCore::DOMWindow::postMessageTimerFired):
828         * page/XSSAuditor.cpp:
829         (WebCore::XSSAuditor::canEvaluate):
830         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
831         (WebCore::XSSAuditor::canLoadObject):
832         * svg/SVGDocumentExtensions.cpp:
833         (WebCore::SVGDocumentExtensions::reportWarning):
834         (WebCore::SVGDocumentExtensions::reportError):
835         * wml/WMLErrorHandling.cpp:
836         (WebCore::reportWMLError):
837         * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
838         (WebCore::GenericWorkerTask8::create):
839         (WebCore::GenericWorkerTask8::GenericWorkerTask8):
840         (WebCore::GenericWorkerTask8::performTask):
841         (WebCore::createCallbackTask):
842         * workers/WorkerContext.cpp:
843         (WebCore::WorkerContext::addMessage):
844         (WebCore::WorkerContext::importScripts):
845         * workers/WorkerContext.h:
846         * workers/WorkerMessagingProxy.cpp:
847         (WebCore::postConsoleMessageTask):
848         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
849         * workers/WorkerMessagingProxy.h:
850         * workers/WorkerObjectProxy.h:
851         * xml/XMLHttpRequest.cpp:
852         (WebCore::reportUnsafeUsage):
853         (WebCore::XMLHttpRequest::didFinishLoading):
854         * xml/XSLTProcessor.cpp:
855         (WebCore::XSLTProcessor::parseErrorFunc):
856
857 2009-07-12  Nate Chapin  <japhet@chromium.org>
858
859         Reviewed by Dimitri Glazkov.
860
861         Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
862
863         https://bugs.webkit.org/show_bug.cgi?id=27132
864
865         * bindings/scripts/CodeGeneratorV8.pm:
866         * bindings/v8/DOMObjectsInclude.h:
867         * bindings/v8/DerivedSourcesAllInOne.cpp:
868         * bindings/v8/V8DOMWrapper.cpp:
869         (WebCore::V8DOMWrapper::getTemplate):
870         (WebCore::V8DOMWrapper::instantiateV8Object):
871         * bindings/v8/V8Index.cpp:
872         * bindings/v8/V8Index.h:
873         * dom/HTMLAllCollection.idl: Added.
874
875 2009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>
876
877         Reviewed by Maciej Stachowiak.
878
879         Inspector: Duplicate Computation in Autocompletion
880         https://bugs.webkit.org/show_bug.cgi?id=26778
881
882         * inspector/front-end/TextPrompt.js:
883         (WebInspector.TextPrompt.prototype._completionsReady):
884
885 2009-07-12  Dan Bernstein  <mitz@apple.com>
886
887         Reviewed by Maciej Stachowiak.
888
889         https://bugs.webkit.org/show_bug.cgi?id=27196
890         Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
891
892         * GNUmakefile.am: Updated.
893         * WebCore.gypi: Updated.
894         * WebCore.pro: Updated.
895         * WebCore.vcproj/WebCore.vcproj: Updated.
896         * WebCore.xcodeproj/project.pbxproj: Updated.
897         * WebCoreSources.bkl: Updated.
898         * rendering/RenderBlock.h: Removed unnecessary forward declaration and
899             updated comments.
900         * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
901             Removed unnecessary #include statements.
902         (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
903         (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
904         * rendering/bidi.cpp: Removed.
905         * rendering/bidi.h: Removed.
906
907 2009-07-12  Dan Bernstein  <mitz@apple.com>
908
909         - Windows build fix
910
911         * platform/graphics/cg/PDFDocumentImage.cpp:
912         (WebCore::PDFDocumentImage::dataChanged):
913
914 2009-07-12  Dan Bernstein  <mitz@apple.com>
915
916         Reviewed by Sam Weinig.
917
918         - Image cleanup
919
920         * platform/graphics/BitmapImage.cpp:
921         (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
922         instead of the m_data member.
923         (WebCore::BitmapImage::dataChanged): Ditto.
924         * platform/graphics/Image.h: Re-ordered #includes and class
925         declarations. Removed the drawPatternCallback() declaration. Made member
926         variables private.
927         * platform/graphics/cg/ImageCG.cpp:
928         (WebCore::drawPatternCallback): Changed this from a member function to a
929         static function.
930         * platform/graphics/cg/PDFDocumentImage.cpp:
931         (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
932         instead of the m_data member.
933         * svg/graphics/SVGImage.cpp:
934         (WebCore::SVGImage::dataChanged): Ditto.
935
936 2009-07-12  Daniel Bates  <dbates@intudata.com>
937
938         Reviewed by Darin Adler.
939
940         https://bugs.webkit.org/show_bug.cgi?id=27189
941         
942         Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 
943         XSSAuditor to incorrectly block HTML Base elements whose base path coincided 
944         with the URL of the page.
945
946         Test: http/tests/security/xssAuditor/base-href-safe3.html
947
948         * page/XSSAuditor.cpp:
949         (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 
950         XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 
951         in the base element URL.
952
953 2009-07-12  Darin Adler  <darin@apple.com>
954
955         Reviewed by Dan Bernstein.
956
957         Text searching with ICU should take the user's default locale into account
958         https://bugs.webkit.org/show_bug.cgi?id=27184
959         rdar://problem/6812121
960
961         No simple way to test this since it's dependent on user locale.
962         After this, the user's default locale is used only on Mac.
963
964         * editing/TextIterator.cpp:
965         (WebCore::createSearcher): Pass result of the currentSearchLocaleID
966         function as the locale.
967
968         * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
969         currentSearchLocaleID function.
970
971         * platform/text/android/TextBreakIteratorInternalICU.cpp:
972         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
973         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
974         (WebCore::currentSearchLocaleID): Ditto.
975         * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
976         (WebCore::currentSearchLocaleID): Ditto.
977
978         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
979         (WebCore::textBreakLocalePreference): Added. Returns the value of
980         the AppleTextBreakLocale preference.
981         (WebCore::topLanguagePreference): Added. Returns the value of the
982         first item in the AppleLanguages preference.
983         (WebCore::canonicalLanguageIdentifier): Added. Cover for the
984         CFLocaleCreateCanonicalLanguageIdentifierFromString function.
985         (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
986         into a buffer.
987         (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
988         canonicalLanguageIdentifier, and getLocale.
989         (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
990         (WebCore::getTextBreakLocale): Changed to call
991         textBreakLocalePreference, topLanguagePreference,
992         canonicalLanguageIdentifier, and getLocale.
993
994         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
995         (WebCore::currentSearchLocaleID): Added. Returns the empty string.
996         * platform/wx/TemporaryLinkStubs.cpp:
997         (WebCore::currentSearchLocaleID): Ditto.
998
999 2009-07-12  Xan Lopez  <xlopez@igalia.com>
1000
1001         Reviewed by Gustavo Noronha.
1002
1003         https://bugs.webkit.org/show_bug.cgi?id=25415
1004         [GTK][ATK] Please implement support for get_text_at_offset
1005
1006         Create a PangoLayout that properly represents the visual
1007         appearance of the text in the web page so that the line boundary
1008         modes of getText{At,Before,After}Offset work correctly.
1009
1010         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1011         (UTF16ToUTF8):
1012         (g_substr):
1013         (convertUniCharToUTF8):
1014         (getPangoLayoutForAtk):
1015
1016 2009-07-11  Oliver Hunt  <oliver@apple.com>
1017
1018         Reviewed by Simon Fraser.
1019
1020         Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
1021         <https://bugs.webkit.org/show_bug.cgi?id=27187>
1022
1023         Simple API change, check for the empty path and add appropriate point if necessary.
1024
1025         Test: fast/canvas/canvas-modify-emptyPath.html
1026
1027         * Info.plist:
1028         * WebCore.xcodeproj/project.pbxproj:
1029         * html/CanvasRenderingContext2D.cpp:
1030         (WebCore::CanvasRenderingContext2D::lineTo):
1031         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1032         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1033
1034 2009-07-11  Eric Carlson  <eric.carlson@apple.com>
1035
1036         Reviewed by Antti Koivisto.
1037
1038         HTMLMediaElement.canPlayType "maybe" and "probably" reversed
1039         https://bugs.webkit.org/show_bug.cgi?id=27186
1040
1041         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1042         (WebCore::MediaPlayerPrivate::supportsType):
1043             Return "probably" if type has codecs parameter.
1044
1045         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1046         (WebCore::MediaPlayerPrivate::supportsType):
1047             Ditto.
1048
1049         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1050         (WebCore::MediaPlayerPrivate::supportsType):
1051             Ditto.
1052
1053 2009-07-11  Brady Eidson  <beidson@apple.com>
1054
1055         Reviewed by Mark Rowe.
1056
1057         A worker-thread inspired follow-up for:
1058         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
1059         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
1060
1061         * xml/XMLHttpRequest.cpp:
1062         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
1063           is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
1064           not currently supported.
1065
1066 2009-07-11  Simon Fraser  <simon.fraser@apple.com>
1067
1068         Enable support for accelerated compositing and 3d transforms on Leopard.
1069         <https://bugs.webkit.org/show_bug.cgi?id=20166>
1070         <rdar://problem/6120614>
1071
1072         Reviewed by Oliver Hunt.
1073
1074         * Configurations/FeatureDefines.xcconfig:
1075
1076 2009-07-11  Simon Hausmann  <hausmann@webkit.org>
1077
1078         Fix the Qt build after r45724.
1079
1080         * bridge/qt/qt_instance.cpp:
1081         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
1082         * bridge/qt/qt_runtime.cpp:
1083         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1084
1085 2009-07-10  Daniel Bates  <dbates@intudata.com>
1086
1087         Reviewed by Adam Barth.
1088
1089         https://bugs.webkit.org/show_bug.cgi?id=26921
1090
1091         Implements support for HTML entities, so XSSAuditor can protect against attacks
1092         encoded with HTML entities.
1093
1094         Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
1095                http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
1096                http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
1097                http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
1098                http/tests/security/xssAuditor/javascript-link-HTML-entities.html
1099                http/tests/security/xssAuditor/link-onclick-entities.html
1100                http/tests/security/xssAuditor/script-tag-entities.html
1101                http/tests/security/xssAuditor/script-tag-with-source-entities.html
1102
1103         * page/XSSAuditor.cpp:
1104         (WebCore::XSSAuditor::canEvaluate):
1105         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1106         (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
1107         to decode HTML entities.
1108         (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
1109         (WebCore::XSSAuditor::findInRequest):
1110         * page/XSSAuditor.h:
1111
1112 2009-07-10  David Kilzer  <ddkilzer@apple.com>
1113
1114         Bug 27007: Build fixes when ICONDATABASE is disabled
1115
1116         <https://bugs.webkit.org/show_bug.cgi?id=27007>
1117
1118         Reviewed by Sam Weinig.
1119
1120         * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
1121         to the project.
1122         * loader/icon/IconDatabase.cpp: Added
1123         #if ENABLE(ICONDATABASE)/#endif macro guard.
1124         * loader/icon/IconDatabase.h: Removed three public methods from
1125         #if ENABLE(ICONDATABASE)/#endif macro so that they may be
1126         stubbed out in IconDatabaseNone.cpp.
1127         * loader/icon/IconDatabaseNone.cpp: Added
1128         #if !ENABLE(ICONDATABASE)/#endif macro guard.
1129         (WebCore::IconDatabase::importIconURLForPageURL): Added.
1130         (WebCore::IconDatabase::importIconDataForIconURL): Added.
1131         (WebCore::IconDatabase::shouldStopThreadActivity): Added.
1132
1133 2009-07-10  Daniel Bates  <dbates@intudata.com>
1134
1135         Reviewed by Adam Barth.
1136
1137         https://bugs.webkit.org/show_bug.cgi?id=27151
1138
1139         Fixes issue where JavaScript URLs that contain null- and non-null control characters can
1140         bypass XSSAuditor.
1141
1142         Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
1143                http/tests/security/xssAuditor/javascript-link-null-char.html
1144                http/tests/security/xssAuditor/javascript-link.html
1145
1146         * bindings/js/ScriptController.cpp:
1147         (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 
1148         inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
1149         * bindings/v8/ScriptController.cpp:
1150         (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
1151         bindings/js/ScriptController.cpp.
1152         * page/XSSAuditor.cpp:
1153         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
1154         into its own method.
1155         * page/XSSAuditor.h:
1156
1157 2009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>
1158
1159         Reviewed by David Kilzer.
1160
1161         WebKit needs a style linting tool
1162         https://bugs.webkit.org/show_bug.cgi?id=25884
1163
1164         Fix bunch of style issues by autofix of cpplint.
1165         This patch is created to demonstrate the autofix of cpplint.py.
1166
1167         No new testcases because it's a style fix
1168
1169         * css/CSSParser.cpp:
1170         (WebCore::CSSParser::parseMediaQuery):
1171         (WebCore::CSSParser::validUnit):
1172         (WebCore::CSSParser::parseValue):
1173         (WebCore::skipCommaInDashboardRegion):
1174         (WebCore::CSSParser::parseDashboardRegions):
1175         (WebCore::ShadowParseContext::commitValue):
1176         (WebCore::ShadowParseContext::commitLength):
1177         (WebCore::ShadowParseContext::commitColor):
1178         (WebCore::BorderImageParseContext::commitNumber):
1179         (WebCore::BorderImageParseContext::commitWidth):
1180         (WebCore::BorderImageParseContext::commitRule):
1181         (WebCore::BorderImageParseContext::commitBorderImage):
1182         (WebCore::CSSParser::lex):
1183         (WebCore::CSSParser::text):
1184         * css/CSSStyleSelector.cpp:
1185         (WebCore::CSSStyleSelector::applyProperty):
1186         * css/MediaList.cpp:
1187         (WebCore::MediaList::deleteMedium):
1188         * css/MediaQuery.h:
1189         * css/MediaQueryEvaluator.cpp:
1190         (WebCore::parseAspectRatio):
1191         * css/MediaQueryEvaluator.h:
1192         * css/MediaQueryExp.h:
1193         (WebCore::MediaQueryExp::operator==):
1194         * css/WebKitCSSMatrix.h:
1195         * dom/Comment.h:
1196         * dom/Document.cpp:
1197         (WebCore::Document::setFocusedNode):
1198         * dom/Document.h:
1199         (WebCore::Document::setHasDashboardRegions):
1200         * dom/DocumentFragment.cpp:
1201         (WebCore::DocumentFragment::nodeName):
1202         * dom/DocumentFragment.h:
1203         * dom/DynamicNodeList.h:
1204         * dom/EditingText.h:
1205         * dom/Element.cpp:
1206         (WebCore::Element::dispatchAttrAdditionEvent):
1207         * dom/NamedAttrMap.cpp:
1208         (WebCore::NamedNodeMap::item):
1209         * dom/Node.cpp:
1210         (WebCore::Node::nodeValue):
1211         (WebCore::Node::nodeIndex):
1212         * dom/NodeRareData.h:
1213         (WebCore::NodeListsNodeData::create):
1214         * dom/Notation.h:
1215         * dom/ProcessingInstruction.h:
1216         * dom/Range.cpp:
1217         (WebCore::Range::processContents):
1218         * dom/StyledElement.cpp:
1219         (WebCore::toHex):
1220         * dom/XMLTokenizerLibxml2.cpp:
1221         (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
1222         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
1223         (WebCore::PendingCallbacks::):
1224         (WebCore::OffsetBuffer::readOutBytes):
1225         (WebCore::handleElementNamespaces):
1226         (WebCore::handleElementAttributes):
1227         (WebCore::attributesStartElementNsHandler):
1228         * dom/XMLTokenizerQt.cpp:
1229         (WebCore::attributesStartElementNsHandler):
1230         (WebCore::XMLTokenizer::parseStartElement):
1231         * editing/ApplyStyleCommand.cpp:
1232         (WebCore::ApplyStyleCommand::applyInlineStyle):
1233         * editing/DeleteSelectionCommand.cpp:
1234         (WebCore::DeleteSelectionCommand::removeNode):
1235         * editing/Editor.cpp:
1236         (WebCore::Editor::pasteAsPlainText):
1237         * editing/SelectionController.cpp:
1238         (WebCore::SelectionController::directionOfEnclosingBlock):
1239         * editing/SmartReplaceICU.cpp:
1240         (WebCore::addAllCodePoints):
1241         * history/HistoryItem.cpp:
1242         (WebCore::HistoryItem::icon):
1243         (WebCore::HistoryItem::adoptVisitCounts):
1244         * html/CanvasStyle.cpp:
1245         (WebCore::CanvasStyle::applyFillColor):
1246         * html/HTMLAnchorElement.cpp:
1247         (WebCore::HTMLAnchorElement::setActive):
1248         (WebCore::HTMLAnchorElement::isLiveLink):
1249         * html/HTMLAppletElement.h:
1250         * html/HTMLAudioElement.h:
1251         * html/HTMLBRElement.h:
1252         * html/HTMLBaseElement.h:
1253         * html/HTMLBaseFontElement.h:
1254         * html/HTMLDListElement.h:
1255         * html/HTMLDirectoryElement.h:
1256         * html/HTMLFieldSetElement.cpp:
1257         (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
1258         * html/HTMLFormElement.cpp:
1259         (WebCore::HTMLFormElement::reset):
1260         * html/HTMLHRElement.cpp:
1261         (WebCore::HTMLHRElement::parseMappedAttribute):
1262         * html/HTMLHeadElement.h:
1263         * html/HTMLHtmlElement.h:
1264         * html/HTMLImageElement.h:
1265         (WebCore::HTMLImageElement::setLoadManually):
1266         * html/HTMLInputElement.cpp:
1267         (WebCore::HTMLInputElement::selection):
1268         * html/HTMLIsIndexElement.h:
1269         * html/HTMLMarqueeElement.cpp:
1270         * html/HTMLMediaElement.h:
1271         (WebCore::HTMLMediaElement::):
1272         * html/HTMLMenuElement.h:
1273         * html/HTMLMetaElement.h:
1274         * html/HTMLModElement.h:
1275         * html/HTMLOListElement.h:
1276         * html/HTMLOptionElement.cpp:
1277         (WebCore::HTMLOptionElement::childrenChanged):
1278         * html/HTMLParamElement.h:
1279         * html/HTMLQuoteElement.h:
1280         * html/HTMLStyleElement.h:
1281         * html/HTMLTableCaptionElement.h:
1282         * html/HTMLTableCellElement.h:
1283         * html/HTMLTableColElement.h:
1284         * html/HTMLTableSectionElement.cpp:
1285         (WebCore::HTMLTableSectionElement::deleteRow):
1286         * html/HTMLTitleElement.h:
1287         * html/HTMLTokenizer.cpp:
1288         (WebCore::HTMLTokenizer::parseNonHTMLText):
1289         (WebCore::HTMLTokenizer::parseEntity):
1290         (WebCore::HTMLTokenizer::parseTag):
1291         (WebCore::HTMLTokenizer::write):
1292         * html/HTMLUListElement.h:
1293         * html/HTMLVideoElement.h:
1294         * html/TimeRanges.h:
1295         (WebCore::TimeRanges::Range::Range):
1296         * inspector/InspectorController.cpp:
1297         (WebCore::InspectorController::enableResourceTracking):
1298         (WebCore::InspectorController::disableResourceTracking):
1299         * inspector/InspectorFrontend.cpp:
1300         (WebCore::InspectorFrontend::newInspectorJSONObject):
1301         * page/Console.cpp:
1302         (WebCore::Console::addMessage):
1303         * page/EventHandler.cpp:
1304         (WebCore::EventHandler::handleMousePressEvent):
1305         (WebCore::EventHandler::selectCursor):
1306         (WebCore::EventHandler::defaultKeyboardEventHandler):
1307         * page/Frame.cpp:
1308         (WebCore::Frame::jsDefaultStatusBarText):
1309         * page/android/DragControllerAndroid.cpp:
1310         (WebCore::DragController::dragOperation):
1311         * page/android/EventHandlerAndroid.cpp:
1312         (WebCore::EventHandler::tabsToAllControls):
1313         (WebCore::EventHandler::eventActivatedView):
1314         * page/animation/AnimationController.cpp:
1315         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
1316         * page/gtk/DragControllerGtk.cpp:
1317         (WebCore::DragController::dragOperation):
1318         * page/qt/DragControllerQt.cpp:
1319         * page/win/DragControllerWin.cpp:
1320         (WebCore::DragController::isCopyKeyDown):
1321         * page/win/FrameWin.h:
1322         * rendering/RenderSlider.cpp:
1323         (WebCore::RenderSlider::mouseEventOffsetToThumb):
1324         * rendering/style/RenderStyle.h:
1325         (WebCore::InheritedFlags::setVerticalAlignLength):
1326         (WebCore::InheritedFlags::setUnicodeBidi):
1327         (WebCore::InheritedFlags::setCursor):
1328         * rendering/style/RenderStyleConstants.h:
1329         (WebCore::):
1330         * rendering/style/SVGRenderStyleDefs.h:
1331         * rendering/style/StyleInheritedData.h:
1332         (WebCore::StyleInheritedData::operator!=):
1333         * storage/DatabaseTask.h:
1334         * svg/GradientAttributes.h:
1335         * svg/LinearGradientAttributes.h:
1336         * svg/PatternAttributes.h:
1337         * svg/RadialGradientAttributes.h:
1338         * svg/SVGAnimatedPathData.h:
1339         * svg/SVGAnimatedPoints.h:
1340         * svg/SVGAnimationElement.h:
1341         * svg/SVGClipPathElement.h:
1342         * svg/SVGElementInstance.h:
1343         * svg/SVGFEBlendElement.cpp:
1344         (WebCore::SVGFEBlendElement::build):
1345         * svg/SVGFEBlendElement.h:
1346         * svg/SVGFEColorMatrixElement.cpp:
1347         (WebCore::SVGFEColorMatrixElement::build):
1348         * svg/SVGFEComponentTransferElement.cpp:
1349         (WebCore::SVGFEComponentTransferElement::build):
1350         * svg/SVGFECompositeElement.cpp:
1351         (WebCore::SVGFECompositeElement::build):
1352         * svg/SVGFEDiffuseLightingElement.cpp:
1353         (WebCore::SVGFEDiffuseLightingElement::build):
1354         * svg/SVGFEDisplacementMapElement.cpp:
1355         (WebCore::SVGFEDisplacementMapElement::build):
1356         * svg/SVGFEDistantLightElement.h:
1357         * svg/SVGFEFloodElement.cpp:
1358         (WebCore::SVGFEFloodElement::build):
1359         * svg/SVGFEFloodElement.h:
1360         * svg/SVGFEFuncAElement.h:
1361         * svg/SVGFEFuncBElement.h:
1362         * svg/SVGFEFuncGElement.h:
1363         * svg/SVGFEFuncRElement.h:
1364         * svg/SVGFEGaussianBlurElement.cpp:
1365         (WebCore::SVGFEGaussianBlurElement::build):
1366         * svg/SVGFEImageElement.cpp:
1367         (WebCore::SVGFEImageElement::build):
1368         * svg/SVGFEMergeElement.cpp:
1369         (WebCore::SVGFEMergeElement::build):
1370         * svg/SVGFEOffsetElement.cpp:
1371         (WebCore::SVGFEOffsetElement::build):
1372         * svg/SVGFEPointLightElement.h:
1373         * svg/SVGFESpecularLightingElement.cpp:
1374         (WebCore::SVGFESpecularLightingElement::build):
1375         * svg/SVGFESpotLightElement.h:
1376         * svg/SVGFETileElement.cpp:
1377         (WebCore::SVGFETileElement::build):
1378         * svg/SVGLineElement.cpp:
1379         (WebCore::SVGLineElement::parseMappedAttribute):
1380         * svg/SVGList.h:
1381         * svg/SVGListTraits.h:
1382         (WebCore::):
1383         * svg/SVGMPathElement.h:
1384         * svg/SVGMetadataElement.h:
1385         * svg/SVGParserUtilities.cpp:
1386         (WebCore::SVGPathParser::parseSVG):
1387         (WebCore::SVGPathParser::calculateArc):
1388         * svg/SVGPathElement.h:
1389         * svg/SVGPathSegClosePath.h:
1390         * svg/SVGSVGElement.h:
1391         * svg/SVGSetElement.h:
1392         * svg/SVGSwitchElement.h:
1393         * svg/SVGTextPathElement.cpp:
1394         (WebCore::SVGTextPathElement::parseMappedAttribute):
1395         * svg/SVGTextPathElement.h:
1396         * svg/SVGTitleElement.h:
1397         * svg/SVGTransformable.cpp:
1398         (WebCore::):
1399         * svg/SVGViewSpec.cpp:
1400         (WebCore::):
1401         * svg/animation/SMILTime.cpp:
1402         (WebCore::operator+):
1403         (WebCore::operator-):
1404         (WebCore::operator*):
1405         * svg/animation/SVGSMILElement.h:
1406         * svg/graphics/SVGResource.cpp:
1407         (WebCore::clientMap):
1408         * wml/WMLPostfieldElement.cpp:
1409         (WebCore::WMLPostfieldElement::value):
1410         * wml/WMLSetvarElement.cpp:
1411         (WebCore::WMLSetvarElement::value):
1412         * workers/WorkerRunLoop.cpp:
1413         * xml/XMLHttpRequest.cpp:
1414         (WebCore::XMLHttpRequest::dropProtection):
1415         * xml/XPathPath.h:
1416
1417 2009-07-10  Eric Carlson  <eric.carlson@apple.com>
1418
1419         Reviewed by Simon Fraser.
1420
1421         <rdar://problem/7049066>.
1422         Update SnowLeopard media controller layout.
1423
1424         * css/mediaControlsQT.css:
1425             Update for new layout.
1426         * html/HTMLMediaElement.cpp:
1427         (WebCore::HTMLMediaElement::movieLoadType):
1428             Added to replace isStreaming.
1429         * html/HTMLMediaElement.h:
1430             Declare movieLoadType, remove isStreaming.
1431
1432         * rendering/MediaControlElements.cpp:
1433         (WebCore::MediaControlStatusDisplayElement::update):
1434             Use movieLoadType instead of isStreaming.
1435         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
1436             MediaControlElement is the base class, not HTMLInputElement.
1437         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
1438             Ditto.
1439         (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
1440             Don't display rewind button for live streams.
1441         (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
1442             MediaControlInputElement is the base class, not HTMLInputElement.
1443         * rendering/MediaControlElements.h:
1444
1445         * rendering/RenderThemeMac.h:
1446         * rendering/RenderThemeMac.mm:
1447         (WebCore::getMediaUIPartStateFlags):
1448             New, return wkDrawMediaUIPart flags.
1449         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
1450         (WebCore::RenderThemeMac::paintMediaMuteButton):
1451         (WebCore::RenderThemeMac::paintMediaPlayButton):
1452         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
1453         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
1454         (WebCore::RenderThemeMac::paintMediaSliderTrack):
1455         (WebCore::RenderThemeMac::paintMediaSliderThumb):
1456         (WebCore::RenderThemeMac::paintMediaRewindButton):
1457         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
1458         (WebCore::RenderThemeMac::paintMediaControlsBackground):
1459         (WebCore::RenderThemeMac::paintMediaCurrentTime):
1460         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
1461             Use getMediaUIPartStateFlags.
1462
1463 2009-07-10  Michelangelo De Simone  <micdesim@gmail.com>
1464
1465         Reviewed by Adele Peterson.
1466
1467         https://bugs.webkit.org/show_bug.cgi?id=19562
1468         Added build stuff and stub for the ValidityState class, part of HTML5
1469         section Forms:
1470         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
1471
1472         Test: fast/forms/ValidityState-001.html
1473
1474         * DerivedSources.cpp: Fix aimed to include ValidityState files
1475         * DerivedSources.make: ditto
1476         * GNUmakefile.am: ditto
1477         * WebCore.gypi: ditto
1478         * WebCore.pro: ditto
1479         * WebCore.vcproj/WebCore.vcproj: ditto
1480         * WebCore.xcodeproj/project.pbxproj: ditto
1481         * WebCoreSources.bkl: ditto
1482         * html/HTMLButtonElement.idl: "validity" attribute
1483         * html/HTMLFieldSetElement.idl: ditto
1484         * html/HTMLFormControlElement.cpp: object getter
1485         (WebCore::HTMLFormControlElement::validity):
1486         * html/HTMLFormControlElement.h: ditto
1487         * html/HTMLInputElement.idl: "validity" attribute
1488         * html/HTMLSelectElement.idl: ditto
1489         * html/HTMLTextAreaElement.idl: ditto
1490         * html/ValidityState.cpp: Added.
1491         (WebCore::ValidityState::ValidityState):
1492         (WebCore::ValidityState::valid): validation flag
1493         * html/ValidityState.h: Added.
1494         (WebCore::ValidityState::create): creation routine
1495         (WebCore::ValidityState::control): ValidityState's parent getter
1496         (WebCore::ValidityState::valueMissing): validation flag
1497         (WebCore::ValidityState::typeMismatch): ditto
1498         (WebCore::ValidityState::patternMismatch): ditto
1499         (WebCore::ValidityState::tooLong): ditto
1500         (WebCore::ValidityState::rangeUnderflow): ditto
1501         (WebCore::ValidityState::rangeOverflow): ditto
1502         (WebCore::ValidityState::stepMismatch): ditto
1503         (WebCore::ValidityState::customError): ditto
1504         * html/ValidityState.idl: Added.
1505
1506 2009-07-10  Brady Eidson  <beidson@apple.com>
1507
1508         Style cleanup over my last patch.
1509
1510         * xml/XMLHttpRequest.cpp:
1511         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1512
1513 2009-07-10  Kevin McCullough  <kmccullough@apple.com>
1514
1515         Reviewed by Geoffrey Garen.
1516
1517         * inspector/JavaScriptCallFrame.cpp:
1518         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
1519         * inspector/JavaScriptCallFrame.h: New helper method, used below.
1520
1521         * inspector/JavaScriptDebugServer.cpp:
1522         (WebCore::JavaScriptDebugServer::detach): In the special case
1523         where we detach from a window currently executing JavaScript,
1524         manually tear down our representation of the JavaScript
1525         call stack, since we won't get any more callbacks from JavaScriptCore
1526         to automatically tear it down. It's too bad that WebCore is
1527         responsible for this kind of tracking -- in the future, it would
1528         be nice if more of the breakpoint handling was inside of JavaScriptCore.
1529
1530 2009-07-10  Brady Eidson  <beidson@apple.com>
1531
1532         Reviewed by Antti Koivisto.
1533
1534         https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
1535         REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
1536
1537         With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
1538         When that happened, the first request that was over the limit ended up in a bizarre state where it 
1539         wasn't fully serviced until after the long running XHR was complete.
1540
1541         Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
1542         resources - such as XHR - could still end up causing this limit to be exceeded.
1543
1544         This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
1545         handle this at the resource handle level.
1546
1547         * loader/loader.cpp:
1548         (WebCore::Loader::nonCacheRequestInFlight):
1549         (WebCore::Loader::nonCacheRequestComplete):
1550         (WebCore::Loader::Host::Host):
1551         (WebCore::Loader::Host::nonCacheRequestInFlight):
1552         (WebCore::Loader::Host::nonCacheRequestComplete):
1553         (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
1554         * loader/loader.h:
1555         (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
1556
1557         * xml/XMLHttpRequest.cpp:
1558         (WebCore::XMLHttpRequest::XMLHttpRequest):
1559         (WebCore::XMLHttpRequest::~XMLHttpRequest): 
1560         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
1561         (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
1562         (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
1563
1564 2009-07-10  Antti Koivisto  <antti@apple.com>
1565
1566         Try to unbreak non-Mac build.
1567
1568         * page/ChromeClient.h:
1569         (WebCore::ChromeClient::formDidFocus):
1570         (WebCore::ChromeClient::formDidBlur):
1571
1572 2009-07-10  Beth Dakin  <bdakin@apple.com>
1573
1574         Reviewed by Anders Carlsson.
1575
1576         The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
1577         In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
1578         clicking To Do's close box
1579
1580         Make the Widget* in passMouseDownEventToWidget() a RefPtr.
1581
1582         * page/mac/EventHandlerMac.mm:
1583         (WebCore::EventHandler::passMouseDownEventToWidget):
1584
1585 2009-07-10  Eric Seidel  <eric@webkit.org>
1586
1587         Reviewed by Adam Barth.
1588
1589         rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
1590         https://bugs.webkit.org/show_bug.cgi?id=27157
1591
1592         This is the first step to fixing
1593         https://bugs.webkit.org/show_bug.cgi?id=27088
1594
1595         * WebCore.xcodeproj/project.pbxproj:
1596         * bindings/js/JSDOMBinding.h:
1597         (WebCore::deprecatedGetDOMStructure):
1598         (WebCore::createDOMObjectWrapper):
1599         (WebCore::createDOMNodeWrapper):
1600         * bindings/js/JSNamedNodesCollection.cpp:
1601         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
1602         * bindings/js/JSRGBColor.cpp:
1603         (WebCore::JSRGBColor::JSRGBColor):
1604         * bridge/objc/objc_runtime.mm:
1605         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1606         * bridge/runtime_array.cpp:
1607         (JSC::RuntimeArray::RuntimeArray):
1608         * bridge/runtime_method.cpp:
1609         (JSC::RuntimeMethod::RuntimeMethod):
1610         * bridge/runtime_object.cpp:
1611         (JSC::RuntimeObjectImp::RuntimeObjectImp):
1612
1613 2009-07-10  Greg Bolsinga  <bolsinga@apple.com>
1614
1615         Reviewed by Antti Koivisto.
1616
1617         Add delegate methods about focus and blur and state change
1618         https://bugs.webkit.org/show_bug.cgi?id=27153
1619
1620         Call the appropriate new ChromeClient methods for focus and blur.
1621
1622         * html/HTMLFormControlElement.cpp:
1623         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
1624         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
1625         * html/HTMLFormControlElement.h:
1626         * loader/EmptyClients.h:
1627         (WebCore::EmptyChromeClient::formDidFocus):
1628         (WebCore::EmptyChromeClient::formDidBlur):
1629         * page/ChromeClient.h:
1630
1631 2009-07-10  Steve Falkenburg  <sfalken@apple.com>
1632
1633         <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
1634         
1635         Use altered search path while loading plug-ins. This modifies the DLL search order
1636         to look in the directory containing the plug-in even if a call to SetDllDirectory
1637         was previously made. Use of SetDllDirectory removes the current directory from the search path,
1638         breaking the previous strategy for locating any dependent DLLs of the plug-in.
1639         
1640         Reviewed by Jon Honeycutt.
1641
1642         * plugins/win/PluginPackageWin.cpp:
1643         (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
1644
1645 2009-07-10  Adam Roben  <aroben@apple.com>
1646
1647         Sort all our Xcode projects
1648
1649         Accomplished using sort-Xcode-project-file.
1650
1651         Requested by Dave Kilzer.
1652
1653         * WebCore.xcodeproj/project.pbxproj:
1654
1655 2009-07-10  Adam Langley  <agl@google.com>
1656
1657         Reviewed by Darin Fisher.
1658
1659         Chromium Linux: use disabled images for disabled widgets.
1660
1661         https://bugs.webkit.org/show_bug.cgi?id=27106
1662
1663         Previously, checkboxes and radio controls rendered the same even if disabled.
1664         The Chromium side of this change is r20224.
1665
1666         * rendering/RenderThemeChromiumSkia.cpp:
1667         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
1668         (WebCore::RenderThemeChromiumSkia::paintRadio):
1669
1670 2009-07-10  Simon Fraser  <simon.fraser@apple.com>
1671
1672         Reviewed by John Sullivan.
1673
1674         Fix crash when changing the zoom level in http://iphone.akamai.com/
1675         <rdar://problem/7029077>
1676
1677         RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
1678         which could potentially destroy that compositing layer, causing a crash.
1679         Prevent this from happening by not doing a compositing update from paintIntoLayer().
1680
1681         The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
1682         and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
1683         compositing layers, and is still called from paintIntoLayer().
1684         
1685         * rendering/RenderLayer.cpp:
1686         (WebCore::RenderLayer::paintLayer):
1687         (WebCore::RenderLayer::hitTestLayer):
1688         (WebCore::RenderLayer::updateLayerListsIfNeeded):
1689         (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
1690         * rendering/RenderLayer.h:
1691
1692 2009-07-10  Drew Wilson  <atwilson@google.com>
1693
1694         Reviewed by Darin Adler.
1695
1696         Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
1697         https://bugs.webkit.org/show_bug.cgi?id=27010
1698
1699         Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
1700
1701         This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
1702
1703         * bindings/scripts/CodeGeneratorJS.pm:
1704         Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
1705         * css/CSSRule.idl:
1706         * css/CSSValue.idl:
1707         * css/StyleSheet.idl:
1708         * dom/Document.idl:
1709         * dom/Event.idl:
1710         * dom/Node.idl:
1711         * html/ImageData.idl:
1712         * svg/SVGElementInstance.idl:
1713         * svg/SVGPathSeg.idl:
1714         Added CustomToJS attribute to all the above IDL files.
1715
1716 2009-07-10  Dan Bernstein  <mitz@apple.com>
1717
1718         - fix the build by reverting the ill-advised r45711
1719
1720         * page/FrameView.cpp:
1721         (WebCore::FrameView::scrollToAnchor):
1722
1723 2009-07-09  Brian Weinstein  <bweinstein@apple.com>
1724
1725         Reviewed by Tim Hatcher.
1726
1727         Updated WebCore.base.exp to add some needed functions.
1728
1729         * WebCore.base.exp:
1730
1731 2009-07-10  Dan Bernstein  <mitz@apple.com>
1732
1733         - address a review comment from Simon Fraser which I forgot to include
1734           in the last check-in
1735
1736         * page/FrameView.cpp:
1737         (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
1738         maximum transform friendliness!
1739
1740 2009-07-10  Dan Bernstein  <mitz@apple.com>
1741
1742         Reviewed by Simon Fraser.
1743
1744         - fix https://bugs.webkit.org/show_bug.cgi?id=27137
1745           <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
1746           to infinite recursion into FrameLoader::gotoAnchor() ->
1747           FrameView::layout()
1748
1749         Test: fast/loader/goto-anchor-infinite-layout.html
1750
1751         * loader/FrameLoader.cpp:
1752         (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
1753         find the renderer to scroll to, and scroll from here to methods on
1754         FrameView, and replaced it with a call to
1755         FrameView::maintainScrollPositionAtAnchor().
1756         (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
1757         instead of setLockedToAnchor().
1758
1759         * page/FrameView.cpp:
1760         (WebCore::FrameView::FrameView): Removed initialization of
1761         m_lockedToAnchor.
1762         (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
1763         of m_lockedToAnchor.
1764         (WebCore::FrameView::layout): Removed the code related to scrolling to
1765         the anchor from here, because scrolling can trigger events which
1766         invalidate the layout, and as such, belongs with the post-layout tasks.
1767         (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
1768         with a node scrolls the view to the top of that node and maintains it
1769         scrolled to the top of the node during subsequent layouts, until
1770         this function is called with 0 or other things trigger scrolling.
1771         (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
1772         m_maintainScrollPositionAnchor.
1773         (WebCore::FrameView::setScrollPosition): Ditto.
1774         (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
1775         m_maintainScrollPositionAnchor, if it is set.
1776         (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
1777         (WebCore::FrameView::setWasScrolledByUser): Reset
1778         m_maintainScrollPositionAnchor.
1779
1780         * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
1781         and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
1782         m_maintainScrollPositionAnchor.
1783
1784 2009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
1785
1786         Reviewed by Simon Hausmann.
1787
1788         https://bugs.webkit.org/show_bug.cgi?id=26439
1789
1790         QtWebKit fails in loading www.nytimes.com in Windows/Linux
1791
1792         QNetworkReplyHandler is ignoring content associated with 401 error.
1793         This causes the XHR response handling to fail.
1794
1795         Simon: Added also ProxyAuthenticationRequiredError, to handle the same
1796         case when going through proxies, as suggested by Prasanth.
1797
1798         * platform/network/qt/QNetworkReplyHandler.cpp:
1799         (WebCore::QNetworkReplyHandler::finish):
1800
1801 2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
1802
1803         Reviewed by Holger Freyther.
1804
1805         Enable HTML 5 Messaging to fix message channel Qt DRT failures in
1806         fast/events.
1807
1808         * WebCore.pro:
1809
1810 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
1811
1812         Reviewed by Maciej Stachowiak.
1813
1814         added InlineBox::isLeaf()
1815         firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
1816         firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
1817         Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
1818         Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
1819
1820         Currently, these methods are called on RootInlineBox objects only, so above changes should not have
1821         any observable effect (only the removal of the square performance behavior could apply, 
1822         but the conditions for that are probably of a rather theoretical nature).
1823
1824         * rendering/InlineBox.cpp:
1825         (WebCore::InlineBox::nextLeafChild):
1826         (WebCore::InlineBox::prevLeafChild):
1827         * rendering/InlineBox.h:
1828         (WebCore::InlineBox::isLeaf):
1829         * rendering/InlineFlowBox.cpp:
1830         (WebCore::InlineFlowBox::firstLeafChild):
1831         (WebCore::InlineFlowBox::lastLeafChild):
1832         * rendering/InlineFlowBox.h:
1833         (WebCore::InlineFlowBox::firstChild):
1834         (WebCore::InlineFlowBox::lastChild):
1835         (WebCore::InlineFlowBox::isLeaf):
1836         * rendering/RootInlineBox.cpp:
1837         (WebCore::RootInlineBox::closestLeafChildForXPos):
1838
1839 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
1840
1841         Reviewed by Maciej Stachowiak.
1842
1843         Added InlineBox::baselinePosition() and lineHeight() methods
1844         (adapted remaining code accordingly to use those methods)
1845
1846         No change in functionality.
1847
1848         * rendering/InlineBox.h:
1849         (WebCore::InlineBox::baselinePosition):
1850         (WebCore::InlineBox::lineHeight):
1851         * rendering/InlineFlowBox.cpp:
1852         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1853         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1854         (WebCore::InlineFlowBox::placeBoxesVertically):
1855
1856 2009-07-09  Oliver Hunt  <oliver@apple.com>
1857
1858         Reviewed by Maciej Stachowiak.
1859
1860         Bug 27142 - canPlayType() should return empty string for unsupported content
1861         <https://bugs.webkit.org/show_bug.cgi?id=27142>
1862
1863         Return "" instead of "no" for unsupport media types. 
1864
1865         * html/HTMLMediaElement.cpp:
1866         (WebCore::HTMLMediaElement::canPlayType):
1867
1868 2009-07-09  Roland Steiner  <rolandsteiner@google.com>
1869
1870         Reviewed by Maciej Stachowiak.
1871
1872         Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
1873         in that their end tags are optional if followed by <rp>/<rt>.
1874
1875         Also specify a new accessibility role "annotation" for <rp> and <rt>.
1876
1877         Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
1878         is not affected by whether ruby is rendered properly or not (in fact, it may 
1879         be more profound without ruby layouting, since the contents of <rp> are not hidden).
1880
1881         Test: fast/ruby/parse-rp.html
1882
1883         * accessibility/AccessibilityObject.h:
1884         (WebCore::):
1885         * accessibility/AccessibilityRenderObject.cpp:
1886         (WebCore::AccessibilityRenderObject::roleValue):
1887         * html/HTMLElement.cpp:
1888         (WebCore::HTMLElement::endTagRequirement):
1889         (WebCore::HTMLElement::tagPriority):
1890         (WebCore::inlineTagList):
1891         * html/HTMLParser.cpp:
1892         (WebCore::HTMLParser::rpCreateErrorCheck):
1893         (WebCore::HTMLParser::rtCreateErrorCheck):
1894         (WebCore::HTMLParser::getNode):
1895         * html/HTMLParser.h:
1896         * html/HTMLTagNames.in:
1897
1898 2009-07-09  Dmitry Titov  <dimich@chromium.org>
1899
1900         Not reviewed, fix for previous commit.
1901
1902         The change http://trac.webkit.org/changeset/45695 did not correctly
1903         enabled GTL and QT build flags. This caused layout tests failure.
1904         This is speculative fix for those failures.
1905
1906         * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
1907         * WebCore.pro: ditto.
1908         * page/DOMWindow.idl: touched to cause recompile.
1909         * workers/WorkerContext.idl: ditto.
1910
1911 2009-07-09  Drew Wilson  <atwilson@google.com>
1912
1913         Reviewed by Alexey Proskuryakov.
1914
1915         https://bugs.webkit.org/show_bug.cgi?id=26903
1916
1917         Turned on CHANNEL_MESSAGING by default because the MessageChannel API
1918         is now implemented for Web Workers and is reasonably stable.
1919
1920         Tests: fast/events/message-channel-gc-2.html
1921                fast/events/message-channel-gc-3.html
1922                fast/events/message-channel-gc-4.html
1923                fast/events/message-channel-gc.html
1924                fast/events/message-channel-listener-circular-ownership.html
1925                fast/events/message-port-clone.html
1926                fast/events/message-port-constructor-for-deleted-document.html
1927                fast/events/message-port-deleted-document.html
1928                fast/events/message-port-deleted-frame.html
1929                fast/events/message-port-inactive-document.html
1930                fast/events/message-port-no-wrapper.html
1931                fast/events/message-port.html
1932                fast/workers/worker-cloneport.html
1933                fast/workers/worker-messageport-gc.html
1934                fast/workers/worker-messageport.html
1935
1936         * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
1937         * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
1938         * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
1939         * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
1940         * WebCore/workers/WorkerContext.idl: ditto.
1941
1942
1943 2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
1944
1945         Reviewed by Simon Fraser.
1946
1947         Full page zoom breaks remaining and elapsed time display in the <video> controller.
1948         https://bugs.webkit.org/show_bug.cgi?id=27123
1949
1950         We are changing the size of the time remaining and time elapsed field, to
1951         automatically hide them, when the controller is too short.
1952
1953         Because we toggle the size between 0 and the previous value of the
1954         controller, we miss any width change that may occur during full page zoom,
1955         and we fail to restore a correct width.
1956
1957         This change fixes that problem by using a cloned style on which we
1958         set the width to 0, and restoring the previous style when going back to
1959         the normal width.
1960
1961         We take care about properly using the cloned style or the pseudo style,
1962         by overriding styleForElement().
1963
1964         * rendering/MediaControlElements.cpp:
1965         (WebCore::MediaControlElement::styleForElement):
1966         (WebCore::MediaControlElement::attach):
1967         (WebCore::MediaControlElement::updateStyle):
1968         (WebCore::MediaControlInputElement::styleForElement):
1969         (WebCore::MediaControlInputElement::attach):
1970         (WebCore::MediaControlInputElement::updateStyle):
1971         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
1972         (WebCore::MediaControlTimeDisplayElement::styleForElement):
1973         (WebCore::MediaControlTimeDisplayElement::setVisible):
1974         * rendering/MediaControlElements.h:
1975         * rendering/RenderMedia.cpp:
1976         (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
1977         we take in account the zoom level when deciding if we should hide the 
1978         ellapsed and remaining time.
1979
1980 2009-07-09  Michael Nordman  <michaeln@google.com>
1981
1982         Reviewed by Darin Adler.
1983
1984         Fix chromium build bustage due to Widget being a RefCounted class.
1985         https://bugs.webkit.org/show_bug.cgi?id=27139
1986
1987         * platform/chromium/PopupMenuChromium.cpp:
1988         * platform/chromium/PopupMenuChromium.h:
1989
1990 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
1991
1992         Reviewed by Darin Adler.
1993
1994         Bug 27130 - Need to implement ARIA role="toolbar"
1995         https://bugs.webkit.org/show_bug.cgi?id=27130
1996
1997         Test: platform/mac/accessibility/aria-toolbar.html
1998
1999         * accessibility/AccessibilityRenderObject.cpp:
2000         (WebCore::RoleEntry::):
2001         * accessibility/mac/AccessibilityObjectWrapper.mm:
2002         (-[AccessibilityObjectWrapper roleDescription]):
2003
2004 2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
2005
2006         Reviewed by Darin Fisher.
2007
2008         [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
2009         https://bugs.webkit.org/show_bug.cgi?id=27135
2010
2011         * WebCore.gypi: Added.
2012
2013 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
2014
2015         A more robust fix for <rdar://problem/6930280> Reproducible crash at
2016         USA Today photo gallery
2017
2018         Reviewed by Steve Falkenburg.
2019
2020         * plugins/win/PluginMessageThrottlerWin.cpp:
2021         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
2022         Protect the PluginView from destruction before calling its window proc.
2023
2024 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
2025
2026         <rdar://problem/6978804> WER #16: Repro Access Violation in
2027         WebCore::PluginView::bindingInstance (1310178023)
2028
2029         Reviewed by Darin Adler.
2030
2031         * plugins/PluginView.cpp:
2032         (WebCore::PluginView::bindingInstance):
2033         Protect the PluginView from destruction before calling NPN_GetValue. If
2034         the renderer for the PluginView was destroyed during the call, and the
2035         PluginView's ref count is now 1, return null.
2036
2037 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
2038
2039         Speculative fix for <rdar://problem/6991251> WER #13: Crash in
2040         WebKit!WebCore::PluginView::performRequest+203 (1311461169)
2041
2042         Reviewed by Darin Adler.
2043
2044         * plugins/PluginView.cpp:
2045         (WebCore::PluginView::performRequest):
2046         Protect the PluginView from destruction before performing a load.
2047         Removed some trailing whitespace.
2048
2049 2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
2050
2051         Build fix.
2052
2053         * inspector/JavaScriptDebugServer.cpp:
2054         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2055
2056 2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
2057
2058         Reviewed by Dave Hyatt.
2059
2060         Make Widget RefCounted to fix or make fixable:
2061
2062         <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
2063         at WebCore::Widget::afterMouseDown() after clicking To Do's close 
2064         box
2065         <rdar://problem/6978804> WER #16: Repro Access Violation in 
2066         WebCore::PluginView::bindingInstance (1310178023)
2067         -and-
2068         <rdar://problem/6991251> WER #13: Crash in WebKit!
2069         WebCore::PluginView::performRequest+203 (1311461169) 
2070
2071         * loader/EmptyClients.h:
2072         (WebCore::EmptyFrameLoaderClient::createPlugin):
2073         Changed to return PassRefPtr
2074         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
2075         Ditto.
2076
2077         * loader/FrameLoader.cpp:
2078         (WebCore::FrameLoader::loadSubframe):
2079         (WebCore::FrameLoader::loadPlugin):
2080         Make the widget variable a RefPtr. Use .get() when passing it to
2081         RenderPart::setWidget().
2082         (WebCore::FrameLoader::createJavaAppletWidget):
2083         Make the widget variable a RefPtr.
2084
2085         * loader/FrameLoader.h:
2086         Changed the return type of createJavaAppletWidget().
2087
2088         * loader/FrameLoaderClient.h:
2089         Change the return types of createPlugin() and 
2090         createJavaAppletWidget().
2091
2092         * page/Frame.cpp:
2093         (WebCore::Frame::createView):
2094         No need to call .get() since setWidget() takes a RefPtr.
2095
2096         * page/FrameView.cpp:
2097         (WebCore::FrameView::layoutIfNeededRecursive):
2098         children() now returns a HashSet of RefPtrs.
2099
2100         * page/FrameView.h:
2101         Remove inheritance from RefCounted; we pick this up from ScrollView
2102         through Widget.
2103
2104         * platform/ScrollView.cpp:
2105         (WebCore::ScrollView::addChild):
2106         addChild() now takes a PassRefPtr and m_children now keeps a 
2107         HashSet of RefPtrs.
2108
2109         * platform/ScrollView.h:
2110         ScrollView constructor is now protected.
2111         (WebCore::ScrollView::children):
2112         m_children is now a HashSet of RefPtrs.
2113
2114         * platform/Scrollbar.h:
2115         Remove inheritance from RefCounted; we pick this up from ScrollView
2116         through Widget.
2117
2118         * platform/Widget.h:
2119         Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
2120         a RefPtr.
2121
2122         * plugins/PluginView.cpp:
2123         (WebCore::PluginView::create):
2124         Adopt the PluginView when returning it.
2125
2126         * plugins/PluginView.h:
2127         Changed create() to return a PassRefPtr.
2128
2129         * rendering/RenderApplet.cpp:
2130         Receive result in a RefPtr when calling createJavaAppletWidget().
2131
2132         * rendering/RenderPart.cpp:
2133         (WebCore::RenderPart::setWidget): 
2134         setWidget() now takes a PassRefPtr. Also removed the manual ref of 
2135         FrameViews. This is handled by having m_widget be a RefPtr. Removed 
2136         deleteWidget().
2137
2138         * rendering/RenderPart.h:
2139         Removed override of deleteWidget().
2140
2141         * rendering/RenderWidget.cpp:
2142         (WebCore::RenderWidget::destroy):
2143         (WebCore::RenderWidget::setWidget):
2144         (WebCore::RenderWidget::paint):
2145         (WebCore::RenderWidget::setOverlapTestResult):
2146         (WebCore::RenderWidget::updateWidgetPosition):
2147         Use .get().
2148         (WebCore::RenderWidget::clearWidget):
2149         Don't call deleteWidget(). It was removed. 
2150
2151         * rendering/RenderWidget.h:
2152         Removed deleteWidget(). Made m_widget a RefPtr.
2153         (WebCore::RenderWidget::widget):
2154         Use .get().
2155
2156 2009-07-09  Chris Fleizach  <cfleizach@apple.com>
2157
2158         Reviewed by Darin Adler.
2159
2160         Bug 27129 - AX: possible assertion for a non-native image in accessibility
2161         https://bugs.webkit.org/show_bug.cgi?id=27129 
2162
2163         It's possible for an image that is not really an image to assert, because its renderer
2164         is turned into a RenderImage.
2165
2166         Test: accessibility/non-native-image-crash.html
2167
2168         * accessibility/AccessibilityRenderObject.cpp:
2169         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2170         (WebCore::RoleEntry::):
2171         * accessibility/mac/AccessibilityObjectWrapper.mm:
2172         (-[AccessibilityObjectWrapper roleDescription]):
2173
2174 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
2175
2176         Build fix for SnowLeopard.
2177         
2178         Avoid using the contentsTransform methods if not on Leopard, because
2179         we don't need to call them.
2180
2181         * platform/graphics/mac/GraphicsLayerCA.mm:
2182         (WebCore::GraphicsLayerCA::updateContentsTransform):
2183         * platform/graphics/mac/WebLayer.mm:
2184         (-[WebLayer setNeedsDisplayInRect:]):
2185         * platform/graphics/mac/WebTiledLayer.mm:
2186         (-[WebTiledLayer setNeedsDisplayInRect:]):
2187
2188 2009-07-09  Simon Fraser  <simon.fraser@apple.com>
2189
2190         Reviewed by Dave Hyatt
2191
2192         Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
2193         is not available.
2194         <rdar://problem/6120614>
2195
2196         * platform/graphics/GraphicsLayer.h:
2197         (WebCore::GraphicsLayer::setContentsOrientation):
2198         (WebCore::GraphicsLayer::contentsOrientation):
2199         * platform/graphics/GraphicsLayer.cpp:
2200         (WebCore::GraphicsLayer::GraphicsLayer):
2201         Add a m_contentsOrientation member and getter/setter to control whether
2202         the contents of this layer have a transform applied to them before display.
2203
2204         * platform/graphics/mac/GraphicsLayerCA.h:
2205         New method to return the default contents orientation.
2206
2207         * platform/graphics/mac/GraphicsLayerCA.mm:
2208         (WebCore::flipTransform):
2209         Convenience method to return a transform with a Y flip.
2210
2211         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
2212         (WebCore::GraphicsLayerCA::setSize):
2213         After the size changes we have to update the contentsTransform.
2214
2215         (WebCore::GraphicsLayerCA::setGeometryOrientation):
2216         (WebCore::GraphicsLayerCA::geometryOrientation):
2217         If -setGeometryFlipped: is not available, use a children transform.
2218         
2219         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2220         Tiled layers have issues with flipped contentsTransform, so just use
2221         top-down drawing for them. Call updateContentsTransform() to set the
2222         new contents transform after swapping layers.
2223         
2224         (WebCore::GraphicsLayerCA::defaultContentsOrientation):
2225         Use bottom-up when -geometryFlipped is not available, otherwise top-down.
2226         
2227         (WebCore::GraphicsLayerCA::updateContentsTransform):
2228         Set the layer contents transform based on contentsOrientation().
2229
2230         (WebCore::GraphicsLayerCA::setContentsLayer):
2231         We have to manually flip contents layers if we're not using -geometryFlipped.
2232         
2233         * platform/graphics/mac/WebLayer.h:
2234         * platform/graphics/mac/WebLayer.mm:
2235         Do early return if layerContents is nil. Flip the CTM if the layer has
2236         bottom-up coordinates, so that CG sees a CTM with no flip.
2237         Do the CGContextRestoreGState() after drawing the debug indicator.
2238         
2239         (-[WebLayer setNeedsDisplayInRect:]):
2240         * platform/graphics/mac/WebTiledLayer.mm:
2241         (-[WebTiledLayer setNeedsDisplayInRect:]):
2242         Need to map the dirty rect through the contentsTransform.
2243
2244 2009-07-09  Alexey Proskuryakov  <ap@webkit.org>
2245
2246         Reviewed by Geoff Garen.
2247
2248         <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
2249
2250         Can't test this functionality with layout tests.
2251
2252         * WebCore.base.exp:
2253         * history/HistoryItem.cpp:
2254         (WebCore::HistoryItem::recordVisitAtTime):
2255         (WebCore::HistoryItem::visited):
2256         * history/HistoryItem.h:
2257         Only increase visit count if explicitly told to. Now, some visits change last access time,
2258         but do not increase visit count.
2259
2260 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
2261
2262         Reviewed by Simon Fraser.
2263
2264         <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
2265
2266         Require QuickTime 7.6.3 or higher to enable the new media controller UI.
2267
2268         * rendering/RenderThemeMac.mm:
2269         (WebCore::mediaControllerTheme):
2270
2271 2009-07-09  Sam Weinig  <sam@webkit.org>
2272
2273         Reviewed by Beth Dakin.
2274
2275         Remove incorrect comment.
2276
2277         * page/MouseEventWithHitTestResults.h:
2278
2279 2009-07-09  Mads Ager  <ager@chromium.org>
2280
2281         Reviewed by Dimitri Glazkov.
2282
2283         Update the V8 bindings codegenerator to use the RGBColor::create
2284         method to handle refcounts for RGBColor objects correctly.
2285         
2286        * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
2287
2288 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
2289
2290         Reviewed by Adele Peterson.
2291
2292         Crash in RenderMedia::styleDidChange.
2293         <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
2294         media element (RenderMedia::styleDidChange + 115)
2295
2296         Speculative fix for crash in styleDidChange. Null check controller elements before tell
2297         them to update style.
2298
2299         * rendering/RenderMedia.cpp:
2300         (WebCore::RenderMedia::styleDidChange):
2301
2302 2009-07-09  Adam Barth  <abarth@webkit.org>
2303
2304         Reviewed by Dimitri Glazkov.
2305
2306         [V8] Move V8DOMWrapper to its own file
2307         https://bugs.webkit.org/show_bug.cgi?id=27121
2308
2309         * bindings/v8/V8DOMWrapper.cpp: Added.
2310         (WebCore::GetToStringName):
2311         (WebCore::ConstructorToString):
2312         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
2313         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
2314         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
2315         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
2316         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
2317         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
2318         (WebCore::V8DOMWrapper::getTemplate):
2319         (WebCore::V8DOMWrapper::convertToV8Object):
2320         (WebCore::V8DOMWrapper::setHiddenWindowReference):
2321         (WebCore::V8DOMWrapper::domWrapperType):
2322         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
2323         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
2324         (WebCore::V8DOMWrapper::lookupDOMWrapper):
2325         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
2326         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
2327         (WebCore::V8DOMWrapper::instantiateV8Object):
2328         (WebCore::V8DOMWrapper::setDOMWrapper):
2329         (WebCore::V8DOMWrapper::maybeDOMWrapper):
2330         (WebCore::V8DOMWrapper::isDOMEventWrapper):
2331         (WebCore::V8DOMWrapper::isWrapperOfType):
2332         (WebCore::V8DOMWrapper::htmlElementType):
2333         (WebCore::V8DOMWrapper::svgElementType):
2334         (WebCore::V8DOMWrapper::convertEventToV8Object):
2335         (WebCore::):
2336         (WebCore::V8DOMWrapper::convertNodeToV8Object):
2337         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2338         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
2339         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
2340         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
2341         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
2342         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
2343         (WebCore::V8DOMWrapper::convertWindowToV8Object):
2344         * bindings/v8/V8DOMWrapper.h: Added.
2345         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
2346         (WebCore::V8DOMWrapper::wrapCPointer):
2347         (WebCore::V8DOMWrapper::extractCPointer):
2348         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
2349         (WebCore::V8DOMWrapper::convertToV8Object):
2350         (WebCore::V8DOMWrapper::convertToNativeObject):
2351         (WebCore::V8DOMWrapper::convertToNativeEvent):
2352         (WebCore::V8DOMWrapper::extractCPointerImpl):
2353         (WebCore::V8DOMWrapper::instantiateV8Object):
2354         * bindings/v8/V8Proxy.cpp:
2355         * bindings/v8/V8Proxy.h:
2356
2357 2009-07-09  David Hyatt  <hyatt@apple.com>
2358
2359         Reviewed by Adele Peterson.
2360
2361         Crash in setFocusedFrame.
2362         <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
2363
2364         Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
2365         the events only after the local member has been updated.
2366
2367         * page/FocusController.cpp:
2368         (WebCore::FocusController::setFocusedFrame):
2369
2370 2009-07-09  Eric Carlson  <eric.carlson@apple.com>
2371
2372         Reviewed by Adele Peterson.
2373
2374         Possible crashes when mouse clicks not dispatched because range input destroyed while 
2375         thumb is being dragged (e.g. scrub to end of movie)
2376         <rdar://problem/7037494> 
2377         https://bugs.webkit.org/show_bug.cgi?id=27101
2378
2379         Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
2380         get mouse events even when the mouse is moved outside of the node. This is done by putting
2381         EventHandler into a mode where it sends all mouse events to the node regardless of the
2382         actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
2383         node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
2384         to try to send events to the deleted node. This sometimes results in a crash, and sometimes
2385         in a page that doesn't respond to click events.
2386
2387         Tests: fast/forms/search-delete-while-cancel-button-clicked.html
2388                fast/forms/slider-delete-while-dragging-thumb.html
2389                media/audio-delete-while-slider-thumb-clicked.html
2390                media/audio-delete-while-step-button-clicked.html
2391
2392         * rendering/MediaControlElements.cpp:
2393         (WebCore::MediaControlSeekButtonElement::detach):
2394             New, call setCapturingMouseEventsNode if capturing mouse events.
2395         * rendering/MediaControlElements.h:
2396             Declare detach().
2397
2398         * rendering/RenderSlider.cpp:
2399         (WebCore::SliderThumbElement::detach):
2400             New, call setCapturingMouseEventsNode if capturing mouse events.
2401
2402         * rendering/TextControlInnerElements.cpp:
2403         (WebCore::SearchFieldCancelButtonElement::detach):
2404             New, call setCapturingMouseEventsNode if capturing mouse events.
2405         * rendering/TextControlInnerElements.h:
2406             Declare detach().
2407
2408 2009-07-09  Yury Semikhatsky  <yurys@chromium.org>
2409
2410         Reviewed by Dimitri Glazkov.
2411
2412         Enter the Frame's context before creating new objects in setContextDebugId.
2413
2414         https://bugs.webkit.org/show_bug.cgi?id=27112
2415
2416         * bindings/v8/V8Proxy.cpp:
2417         (WebCore::V8Proxy::setContextDebugId):
2418
2419 2009-07-09  Simon Hausmann  <hausmann@webkit.org>
2420
2421         Fix the Qt build.
2422
2423         * WebCore.pro: Add new storage impl files to the build.
2424
2425 2009-07-08  Adam Barth  <abarth@webkit.org>
2426
2427         Rubber stamped by Eric Seidel.
2428
2429         [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
2430         https://bugs.webkit.org/show_bug.cgi?id=27107
2431
2432         This patch is just renaming.  Code motion will occur next.
2433
2434         * bindings/scripts/CodeGeneratorV8.pm:
2435         * bindings/v8/ScriptController.cpp:
2436         (WebCore::ScriptController::processingUserGesture):
2437         (WebCore::createScriptObject):
2438         (WebCore::ScriptController::createScriptObjectForPluginElement):
2439         * bindings/v8/ScriptObject.cpp:
2440         (WebCore::ScriptGlobalObject::set):
2441         * bindings/v8/ScriptObjectQuarantine.cpp:
2442         (WebCore::getQuarantinedScriptObject):
2443         * bindings/v8/V8AbstractEventListener.cpp:
2444         (WebCore::V8AbstractEventListener::handleEvent):
2445         (WebCore::V8AbstractEventListener::getReceiverObject):
2446         * bindings/v8/V8Collection.cpp:
2447         (WebCore::toOptionsCollectionSetter):
2448         * bindings/v8/V8Collection.h:
2449         (WebCore::getV8Object):
2450         (WebCore::getNamedPropertyOfCollection):
2451         (WebCore::nodeCollectionNamedPropertyGetter):
2452         (WebCore::getIndexedPropertyOfCollection):
2453         (WebCore::nodeCollectionIndexedPropertyGetter):
2454         (WebCore::nodeCollectionIndexedPropertyEnumerator):
2455         (WebCore::collectionIndexedPropertyEnumerator):
2456         (WebCore::collectionStringOrNullIndexedPropertyGetter):
2457         * bindings/v8/V8DOMMap.cpp:
2458         (WebCore::DOMData::handleWeakObject):
2459         (WebCore::DOMData::removeObjectsFromWrapperMap):
2460         * bindings/v8/V8GCController.cpp:
2461         (WebCore::enumerateDOMObjectMap):
2462         (WebCore::DOMObjectVisitor::visitDOMWrapper):
2463         (WebCore::GCPrologueVisitor::visitDOMWrapper):
2464         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
2465         * bindings/v8/V8Helpers.cpp:
2466         (WebCore::wrapNPObject):
2467         * bindings/v8/V8NodeFilterCondition.cpp:
2468         (WebCore::V8NodeFilterCondition::acceptNode):
2469         * bindings/v8/V8Proxy.cpp:
2470         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
2471         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
2472         (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
2473         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
2474         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
2475         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
2476         (WebCore::V8Proxy::evaluateInNewContext):
2477         (WebCore::V8Proxy::getConstructor):
2478         (WebCore::V8DOMWrapper::getTemplate):
2479         (WebCore::V8Proxy::retrieveWindow):
2480         (WebCore::V8Proxy::updateDocumentWrapperCache):
2481         (WebCore::V8Proxy::clearForNavigation):
2482         (WebCore::V8Proxy::installDOMWindow):
2483         (WebCore::setDOMExceptionHelper):
2484         (WebCore::V8DOMWrapper::convertToV8Object):
2485         (WebCore::V8DOMWrapper::setHiddenWindowReference):
2486         (WebCore::V8DOMWrapper::domWrapperType):
2487         (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
2488         (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
2489         (WebCore::V8DOMWrapper::lookupDOMWrapper):
2490         (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
2491         (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
2492         (WebCore::V8DOMWrapper::instantiateV8Object):
2493         (WebCore::V8DOMWrapper::setDOMWrapper):
2494         (WebCore::V8DOMWrapper::maybeDOMWrapper):
2495         (WebCore::V8DOMWrapper::isDOMEventWrapper):
2496         (WebCore::V8DOMWrapper::isWrapperOfType):
2497         (WebCore::V8DOMWrapper::htmlElementType):
2498         (WebCore::V8DOMWrapper::svgElementType):
2499         (WebCore::V8DOMWrapper::convertEventToV8Object):
2500         (WebCore::V8DOMWrapper::convertNodeToV8Object):
2501         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2502         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
2503         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
2504         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
2505         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
2506         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
2507         (WebCore::V8DOMWrapper::convertWindowToV8Object):
2508         (WebCore::V8Proxy::bindJsObjectToWindow):
2509         * bindings/v8/V8Proxy.h:
2510         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
2511         (WebCore::V8DOMWrapper::wrapCPointer):
2512         (WebCore::V8DOMWrapper::extractCPointer):
2513         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
2514         (WebCore::V8DOMWrapper::convertToV8Object):
2515         (WebCore::V8DOMWrapper::convertToNativeObject):
2516         (WebCore::V8DOMWrapper::convertToNativeEvent):
2517         (WebCore::V8DOMWrapper::extractCPointerImpl):
2518         (WebCore::V8DOMWrapper::instantiateV8Object):
2519         (WebCore::V8Proxy::constructDOMObject):
2520         (WebCore::toV8):
2521         * bindings/v8/V8SVGPODTypeWrapper.h:
2522         (WebCore::V8SVGPODTypeUtil::toSVGPODType):
2523         * bindings/v8/WorkerContextExecutionProxy.cpp:
2524         (WebCore::WorkerContextExecutionProxy::retrieve):
2525         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
2526         (WebCore::WorkerContextExecutionProxy::GetConstructor):
2527         (WebCore::WorkerContextExecutionProxy::ToV8Object):
2528         (WebCore::WorkerContextExecutionProxy::EventToV8Object):
2529         (WebCore::WorkerContextExecutionProxy::toV8):
2530         * bindings/v8/custom/V8AttrCustom.cpp:
2531         (WebCore::ACCESSOR_SETTER):
2532         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2533         (WebCore::NAMED_PROPERTY_GETTER):
2534         (WebCore::NAMED_PROPERTY_SETTER):
2535         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
2536         (WebCore::INDEXED_PROPERTY_GETTER):
2537         (WebCore::INDEXED_PROPERTY_SETTER):
2538         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2539         (WebCore::toV8):
2540         (WebCore::toCanvasStyle):
2541         (WebCore::ACCESSOR_GETTER):
2542         (WebCore::ACCESSOR_SETTER):
2543         (WebCore::CALLBACK_FUNC_DECL):
2544         * bindings/v8/custom/V8ClientRectListCustom.cpp:
2545         (WebCore::INDEXED_PROPERTY_GETTER):
2546         * bindings/v8/custom/V8ClipboardCustom.cpp:
2547         (WebCore::ACCESSOR_GETTER):
2548         (WebCore::CALLBACK_FUNC_DECL):
2549         * bindings/v8/custom/V8CustomBinding.cpp:
2550         (WebCore::ACCESSOR_GETTER):
2551         (WebCore::INDEXED_ACCESS_CHECK):
2552         (WebCore::NAMED_ACCESS_CHECK):
2553         (WebCore::V8Custom::GetTargetFrame):
2554         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
2555         (WebCore::V8CustomSQLStatementCallback::handleEvent):
2556         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2557         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
2558         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
2559         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
2560         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
2561         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
2562         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2563         (WebCore::V8Custom::WindowSetTimeoutImpl):
2564         (WebCore::ACCESSOR_SETTER):
2565         (WebCore::CALLBACK_FUNC_DECL):
2566         (WebCore::ACCESSOR_GETTER):
2567         (WebCore::INDEXED_PROPERTY_GETTER):
2568         (WebCore::NAMED_PROPERTY_GETTER):
2569         (WebCore::V8Custom::ClearTimeoutImpl):
2570         (WebCore::NAMED_ACCESS_CHECK):
2571         (WebCore::INDEXED_ACCESS_CHECK):
2572         * bindings/v8/custom/V8DatabaseCustom.cpp:
2573         (WebCore::CALLBACK_FUNC_DECL):
2574         * bindings/v8/custom/V8DocumentCustom.cpp:
2575         (WebCore::CALLBACK_FUNC_DECL):
2576         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2577         (WebCore::ACCESSOR_GETTER):
2578         (WebCore::ACCESSOR_SETTER):
2579         * bindings/v8/custom/V8ElementCustom.cpp:
2580         (WebCore::CALLBACK_FUNC_DECL):
2581         (WebCore::ACCESSOR_SETTER):
2582         (WebCore::ACCESSOR_GETTER):
2583         * bindings/v8/custom/V8EventCustom.cpp:
2584         (WebCore::ACCESSOR_SETTER):
2585         (WebCore::ACCESSOR_GETTER):
2586         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2587         (WebCore::CALLBACK_FUNC_DECL):
2588         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2589         (WebCore::CALLBACK_FUNC_DECL):
2590         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2591         (WebCore::getNamedItems):
2592         (WebCore::getItem):
2593         (WebCore::NAMED_PROPERTY_GETTER):
2594         (WebCore::CALLBACK_FUNC_DECL):
2595         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2596         (WebCore::NAMED_PROPERTY_GETTER):
2597         (WebCore::CALLBACK_FUNC_DECL):
2598         (WebCore::ACCESSOR_GETTER):
2599         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2600         (WebCore::INDEXED_PROPERTY_GETTER):
2601         (WebCore::NAMED_PROPERTY_GETTER):
2602         (WebCore::CALLBACK_FUNC_DECL):
2603         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2604         (WebCore::ACCESSOR_SETTER):
2605         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2606         (WebCore::NAMED_PROPERTY_GETTER):
2607         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
2608         (WebCore::ACCESSOR_SETTER):
2609         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2610         (WebCore::CALLBACK_FUNC_DECL):
2611         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2612         (WebCore::ACCESSOR_GETTER):
2613         (WebCore::ACCESSOR_SETTER):
2614         (WebCore::CALLBACK_FUNC_DECL):
2615         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2616         (WebCore::CALLBACK_FUNC_DECL):
2617         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2618         (WebCore::CALLBACK_FUNC_DECL):
2619         (WebCore::ACCESSOR_GETTER):
2620         (WebCore::ACCESSOR_SETTER):
2621         (WebCore::INDEXED_PROPERTY_GETTER):
2622         (WebCore::INDEXED_PROPERTY_SETTER):
2623         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2624         (WebCore::NAMED_PROPERTY_GETTER):
2625         (WebCore::NAMED_PROPERTY_SETTER):
2626         (WebCore::INDEXED_PROPERTY_GETTER):
2627         (WebCore::INDEXED_PROPERTY_SETTER):
2628         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
2629         (WebCore::NAMED_PROPERTY_GETTER):
2630         (WebCore::INDEXED_PROPERTY_SETTER):
2631         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2632         (WebCore::CALLBACK_FUNC_DECL):
2633         (WebCore::removeElement):
2634         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
2635         (WebCore::CALLBACK_FUNC_DECL):
2636         * bindings/v8/custom/V8LocationCustom.cpp:
2637         (WebCore::ACCESSOR_SETTER):
2638         (WebCore::ACCESSOR_GETTER):
2639         (WebCore::CALLBACK_FUNC_DECL):
2640         (WebCore::INDEXED_ACCESS_CHECK):
2641         (WebCore::NAMED_ACCESS_CHECK):
2642         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2643         (WebCore::CALLBACK_FUNC_DECL):
2644         * bindings/v8/custom/V8MessagePortCustom.cpp:
2645         (WebCore::ACCESSOR_GETTER):
2646         (WebCore::ACCESSOR_SETTER):
2647         (WebCore::CALLBACK_FUNC_DECL):
2648         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2649         (WebCore::INDEXED_PROPERTY_GETTER):
2650         (WebCore::NAMED_PROPERTY_GETTER):
2651         * bindings/v8/custom/V8NavigatorCustom.cpp:
2652         (WebCore::ACCESSOR_GETTER):
2653         * bindings/v8/custom/V8NodeCustom.cpp:
2654         (WebCore::CALLBACK_FUNC_DECL):
2655         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
2656         (WebCore::toV8):
2657         (WebCore::CALLBACK_FUNC_DECL):
2658         * bindings/v8/custom/V8NodeListCustom.cpp:
2659         (WebCore::NAMED_PROPERTY_GETTER):
2660         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2661         (WebCore::CALLBACK_FUNC_DECL):
2662         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2663         (WebCore::CALLBACK_FUNC_DECL):
2664         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
2665         (WebCore::CALLBACK_FUNC_DECL):
2666         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2667         (WebCore::ACCESSOR_GETTER):
2668         (WebCore::CALLBACK_FUNC_DECL):
2669         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2670         (WebCore::CALLBACK_FUNC_DECL):
2671         * bindings/v8/custom/V8StorageCustom.cpp:
2672         (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
2673         (WebCore::storageGetter):
2674         (WebCore::storageSetter):
2675         (WebCore::storageDeleter):
2676         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2677         (WebCore::NAMED_PROPERTY_GETTER):
2678         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
2679         (WebCore::toV8):
2680         (WebCore::CALLBACK_FUNC_DECL):
2681         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
2682         (WebCore::CALLBACK_FUNC_DECL):
2683         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2684         (WebCore::ACCESSOR_GETTER):
2685         (WebCore::ACCESSOR_SETTER):
2686         (WebCore::SetTimeoutOrInterval):
2687         (WebCore::CALLBACK_FUNC_DECL):
2688         * bindings/v8/custom/V8WorkerCustom.cpp:
2689         (WebCore::CALLBACK_FUNC_DECL):
2690         (WebCore::ACCESSOR_GETTER):
2691         (WebCore::ACCESSOR_SETTER):
2692         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2693         (WebCore::CALLBACK_FUNC_DECL):
2694         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2695         (WebCore::ACCESSOR_GETTER):
2696         (WebCore::ACCESSOR_SETTER):
2697         (WebCore::CALLBACK_FUNC_DECL):
2698         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
2699         (WebCore::ACCESSOR_GETTER):
2700         (WebCore::ACCESSOR_SETTER):
2701         (WebCore::CALLBACK_FUNC_DECL):
2702         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2703         (WebCore::CALLBACK_FUNC_DECL):
2704
2705 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
2706
2707         Reviewed by Simon Fraser.
2708
2709         Make sure we can click outside the slider thumb and start dragging.
2710         https://bugs.webkit.org/show_bug.cgi?id=26229
2711
2712         Previously we were assuming that if the thumb hasn't been clicked, we
2713         wouldn't issue any value change upon dragging.
2714
2715         We need to handle the two different cases:
2716         - Clicked in the thumb, we need to make sure the cursor is always pointing
2717         the same slider thumb point.
2718         - Clicked outside, the cursor should always be pointing to the center of
2719         the thumb.
2720
2721         For simplicity, we don't remember the original point of the mouse down,
2722         but a vector between that point and the thumb.
2723
2724         * rendering/RenderSlider.cpp:
2725         (WebCore::SliderThumbElement::SliderThumbElement):
2726         (WebCore::SliderThumbElement::defaultEventHandler):
2727         (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
2728         * rendering/RenderSlider.h:
2729
2730 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
2731
2732         Reviewed by Simon Fraser.
2733
2734         https://bugs.webkit.org/show_bug.cgi?id=27100
2735         <rdar://problem/7042621>
2736
2737         Don't display "loading" in the <video> controller when
2738         there is no src specified.
2739
2740         * rendering/MediaControlElements.cpp:
2741         (WebCore::MediaControlStatusDisplayElement::update): The only
2742         way to find out if we have an element is currentSrc(). networkState()
2743         will always report LOADING according to the spec.
2744
2745 2009-07-08  Adam Barth  <abarth@webkit.org>
2746
2747         Reviewed by Eric Seidel.
2748
2749         [V8] Move V8GCController functions to their own file
2750         https://bugs.webkit.org/show_bug.cgi?id=27102
2751
2752         * bindings/v8/V8GCController.cpp: Added.
2753         * bindings/v8/V8GCController.h: Added.
2754         * bindings/v8/V8Proxy.cpp:
2755         * bindings/v8/V8Proxy.h:
2756
2757 2009-07-08  Jeremy Orlow  <jorlow@chromium.org>
2758
2759         Reviewed by Darin Fisher.
2760
2761         Split StorageArea and StorageNamespace into an interface and implementation.
2762         https://bugs.webkit.org/show_bug.cgi?id=27072
2763
2764         I need to split StorageNamespace and StorageArea into an interface and
2765         implementation.  In a later patch, I'll implement a proxy interface
2766         that'll run inside the Chromium renderer process.
2767
2768         Additionally, fix the alphabetical ordering of files I recently added
2769         in the project files.
2770
2771         This is a continuation of other refactoring work:
2772         https://bugs.webkit.org/show_bug.cgi?id=25376
2773
2774         * GNUmakefile.am:
2775         * WebCore.vcproj/WebCore.vcproj:
2776         * WebCore.xcodeproj/project.pbxproj:
2777         * WebCoreSources.bkl:
2778         * storage/StorageArea.cpp:
2779         (WebCore::StorageArea::create):
2780         * storage/StorageArea.h:
2781         (WebCore::StorageArea::~StorageArea):
2782         * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
2783         (WebCore::StorageAreaImpl::create):
2784         (WebCore::StorageAreaImpl::~StorageAreaImpl):
2785         (WebCore::StorageAreaImpl::StorageAreaImpl):
2786         (WebCore::StorageAreaImpl::copy):
2787         (WebCore::StorageAreaImpl::length):
2788         (WebCore::StorageAreaImpl::key):
2789         (WebCore::StorageAreaImpl::getItem):
2790         (WebCore::StorageAreaImpl::setItem):
2791         (WebCore::StorageAreaImpl::removeItem):
2792         (WebCore::StorageAreaImpl::clear):
2793         (WebCore::StorageAreaImpl::contains):
2794         (WebCore::StorageAreaImpl::importItem):
2795         (WebCore::StorageAreaImpl::securityOrigin):
2796         (WebCore::StorageAreaImpl::close):
2797         (WebCore::StorageAreaImpl::blockUntilImportComplete):
2798         (WebCore::StorageAreaImpl::dispatchStorageEvent):
2799         * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
2800         * storage/StorageAreaSync.h:
2801         * storage/StorageNamespace.cpp:
2802         (WebCore::StorageNamespace::localStorageNamespace):
2803         (WebCore::StorageNamespace::sessionStorageNamespace):
2804         * storage/StorageNamespace.h:
2805         (WebCore::StorageNamespace::~StorageNamespace):
2806         * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
2807         (WebCore::StorageNamespaceImpl::localStorageNamespace):
2808         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
2809         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
2810         (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
2811         (WebCore::StorageNamespaceImpl::copy):
2812         (WebCore::StorageNamespaceImpl::storageArea):
2813         (WebCore::StorageNamespaceImpl::close):
2814         * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
2815
2816 2009-07-08  Adam Barth  <abarth@webkit.org>
2817
2818         Reviewed by Eric Seidel.
2819
2820         [V8] Move garbage collector related functions from V8Proxy to V8GCController
2821         https://bugs.webkit.org/show_bug.cgi?id=26967
2822
2823         This patch just moves the functions around in V8Proxy.  We'll actually
2824         move them to a separate file in another patch.
2825
2826         * bindings/v8/NPV8Object.cpp:
2827         (freeV8NPObject):
2828         * bindings/v8/ScheduledAction.cpp:
2829         (WebCore::ScheduledAction::ScheduledAction):
2830         (WebCore::ScheduledAction::~ScheduledAction):
2831         * bindings/v8/ScriptController.cpp:
2832         (WebCore::ScriptController::gcProtectJSWrapper):
2833         (WebCore::ScriptController::gcUnprotectJSWrapper):
2834         * bindings/v8/ScriptInstance.cpp:
2835         (WebCore::V8ScriptInstance::clear):
2836         (WebCore::V8ScriptInstance::set):
2837         * bindings/v8/ScriptValue.h:
2838         (WebCore::ScriptValue::ScriptValue):
2839         (WebCore::ScriptValue::operator=):
2840         (WebCore::ScriptValue::clear):
2841         * bindings/v8/V8AbstractEventListener.cpp:
2842         (WebCore::V8AbstractEventListener::disposeListenerObject):
2843         * bindings/v8/V8LazyEventListener.cpp:
2844         (WebCore::V8LazyEventListener::~V8LazyEventListener):
2845         (WebCore::V8LazyEventListener::getListenerFunction):
2846         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
2847         * bindings/v8/V8NodeFilterCondition.cpp:
2848         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
2849         (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
2850         * bindings/v8/V8Proxy.cpp:
2851         (WebCore::V8GCController::registerGlobalHandle):
2852         (WebCore::V8GCController::unregisterGlobalHandle):
2853         (WebCore::V8GCController::gcProtect):
2854         (WebCore::V8GCController::gcUnprotect):
2855         (WebCore::V8Proxy::destroyGlobal):
2856         (WebCore::V8Proxy::updateDocumentWrapper):
2857         (WebCore::V8Proxy::clearDocumentWrapper):
2858         (WebCore::V8Proxy::disposeContextHandles):
2859         (WebCore::V8Proxy::initContextIfNeeded):
2860         * bindings/v8/V8Proxy.h:
2861         (WebCore::):
2862         (WebCore::GlobalHandleInfo::GlobalHandleInfo):
2863         * bindings/v8/custom/V8CustomEventListener.cpp:
2864         (WebCore::V8EventListener::V8EventListener):
2865
2866 2009-07-08  Daniel Bates  <dbates@intudata.com>
2867
2868         Reviewed by Adam Barth.
2869         
2870         https://bugs.webkit.org/show_bug.cgi?id=26918
2871         
2872         Prevents injection of HTML Base tag.
2873
2874         Tests: http/tests/security/xssAuditor/base-href-control-char.html
2875                http/tests/security/xssAuditor/base-href-null-char.html
2876                http/tests/security/xssAuditor/base-href-safe.html
2877                http/tests/security/xssAuditor/base-href-safe2.html
2878                http/tests/security/xssAuditor/base-href-scheme-relative.html
2879                http/tests/security/xssAuditor/base-href.html
2880
2881         * html/HTMLBaseElement.cpp:
2882         (WebCore::HTMLBaseElement::parseMappedAttribute):
2883         (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
2884         to determine if it is safe to use base element URL.
2885         * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
2886         * page/XSSAuditor.cpp:
2887         (WebCore::XSSAuditor::canSetBaseElementURL):
2888         * page/XSSAuditor.h:
2889
2890 2009-07-08  Nate Chapin  <japhet@chromium.org>
2891
2892         Reviewed by Dimitri Glazkov.
2893
2894         Upstream V8 npruntime bindings.
2895
2896         https://bugs.webkit.org/show_bug.cgi?id=27094
2897
2898         * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
2899         (StringKey::operator==):
2900         (StringKey::StringKeyHash::hash):
2901         (StringKey::StringKeyHash::equal):
2902         (StringKeyHashTraits::constructDeletedValue):
2903         (StringKeyHashTraits::isDeletedValue):
2904         (getStringIdentifierMap):
2905         (getIntIdentifierMap):
2906         * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
2907         * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
2908         * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
2909
2910 2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
2911
2912         Reviewed by Darin Fisher.
2913
2914         Extending the PlatformFileHandle definition from PLATFORM(WIN) to
2915         PLATFORM(WIN_OS)
2916
2917         https://bugs.webkit.org/show_bug.cgi?id=27013
2918
2919         * platform/FileSystem.h:
2920
2921 2009-07-08  Daniel Bates  <dbates@intudata.com>
2922
2923         Reviewed by Adam Barth.
2924         
2925         https://bugs.webkit.org/show_bug.cgi?id=27071
2926         
2927         Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
2928
2929         Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
2930                http/tests/security/xssAuditor/embed-tag-control-char.html
2931                http/tests/security/xssAuditor/embed-tag-null-char.html
2932                http/tests/security/xssAuditor/embed-tag.html
2933                http/tests/security/xssAuditor/link-onclick-control-char.html
2934                http/tests/security/xssAuditor/link-onclick-null-char.html
2935                http/tests/security/xssAuditor/object-embed-tag-control-char.html
2936                http/tests/security/xssAuditor/object-embed-tag-null-char.html
2937                http/tests/security/xssAuditor/object-embed-tag.html
2938                http/tests/security/xssAuditor/object-tag.html
2939                http/tests/security/xssAuditor/script-tag-post-control-char.html
2940                http/tests/security/xssAuditor/script-tag-post-null-char.html
2941                http/tests/security/xssAuditor/script-tag-with-source-control-char.html
2942                http/tests/security/xssAuditor/script-tag-with-source-null-char.html
2943
2944         * page/XSSAuditor.cpp:
2945         (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
2946         (WebCore::XSSAuditor::canEvaluate):
2947         (WebCore::XSSAuditor::canCreateInlineEventListener):
2948         (WebCore::XSSAuditor::canLoadObject):
2949         (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
2950         and matchNonNullControlCharacters.
2951         (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
2952         and matchNonNullControlCharacters.
2953         * page/XSSAuditor.h:
2954
2955 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
2956
2957         Reviewed by Dimitri Glazkov.
2958
2959         Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
2960         https://bugs.webkit.org/show_bug.cgi?id=27093
2961
2962         This is specific for v8, no change in behavior.
2963
2964         * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
2965
2966 2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
2967
2968         Reviewed by Simon Fraser.
2969
2970         https://bugs.webkit.org/show_bug.cgi?id=27086
2971
2972         Make sure the Media controller doesn't fade in for no reason.
2973         This is happening because a update() call to the controller
2974         panel may reset the opacity to 1.0, given that it reloads the
2975         style.
2976
2977         We also add a different fade in and fade out time to soften
2978         the fade out effect.
2979
2980         No test case because this depends on how the movie is loaded.
2981
2982         * rendering/RenderMedia.cpp:
2983         (WebCore::RenderMedia::RenderMedia):
2984         (WebCore::RenderMedia::updateControls):
2985         (WebCore::RenderMedia::updateControlVisibility): Simplify
2986         , and make sure we stop the timer if there is no animation
2987         to do.
2988         (WebCore::RenderMedia::opacityAnimationTimerFired): 
2989         * rendering/RenderMedia.h:
2990
2991 2009-07-08  David Kilzer  <ddkilzer@apple.com>
2992
2993         Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
2994
2995         <https://bugs.webkit.org/show_bug.cgi?id=27081>
2996
2997         Reviewed by Timothy Hatcher.
2998
2999         * platform/cf/RunLoopTimerCF.cpp: This code is only used on
3000         Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
3001         in that macro as well.
3002
3003 2009-07-08  Greg Bolsinga  <bolsinga@apple.com>
3004
3005         Reviewed by Darin Adler.
3006
3007         Add -[WebView _isProcessingUserGesture]
3008         https://bugs.webkit.org/show_bug.cgi?id=27084
3009
3010         Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
3011         for clarity.
3012
3013         * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
3014         * html/HTMLMediaElement.cpp:
3015         (WebCore::HTMLMediaElement::processingUserGesture):
3016         * loader/FrameLoader.cpp: 
3017         (WebCore::FrameLoader::requestFrame):
3018         (WebCore::FrameLoader::isProcessingUserGesture):
3019         * loader/FrameLoader.h:
3020
3021 2009-07-08  Alexey Proskuryakov  <ap@webkit.org>
3022
3023         Reviewed (an earlier version) by Geoff Garen.
3024
3025         https://bugs.webkit.org/show_bug.cgi?id=27090
3026         Remove lockBackForwardList argument from HTMLFormElement::submit()
3027
3028         No change in behavior, so no tests.
3029
3030         * bindings/js/JSHTMLFormElementCustom.cpp:
3031         (WebCore::JSHTMLFormElement::submit):
3032         * html/HTMLFormElement.cpp:
3033         (WebCore::HTMLFormElement::submit):
3034         * html/HTMLFormElement.h:
3035         * loader/FrameLoader.cpp:
3036         (WebCore::FrameLoader::submitForm):
3037         (WebCore::FrameLoader::scheduleFormSubmission):
3038         * loader/FrameLoader.h:
3039         Don't pass lockBackForwardList around when it's known to be false.
3040
3041 2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
3042
3043         Reviewed by Adam Barth.
3044
3045         Fix V8 idl codegen to use unique constant names
3046         <https://bugs.webkit.org/show_bug.cgi?id=27089>
3047
3048         Embed the interface name in the global constant names so coagulating all
3049         the .cc files into one compile unit works with V8 bindings.
3050
3051         Nothing added; Still compiles and pass tests.
3052
3053         * bindings/scripts/CodeGeneratorV8.pm:
3054
3055 2009-07-08  Brent Fulgham  <bfulgham@webkit.org>
3056
3057         Build fix: Add missing #includes for Windows (cURL) build.
3058         The <winsock2.h> and <windows.h> headers were not being
3059         included in Windows cURL builds.
3060
3061         * platform/network/ResourceHandleInternal.h:
3062         * platform/network/curl/ResourceHandleManager.h:
3063
3064 2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
3065
3066         Reviewed by David Kilzer.
3067
3068         WebKit needs a style linting tool
3069         https://bugs.webkit.org/show_bug.cgi?id=25884
3070
3071         Fix bunch of style issues in WebCore/rendering.
3072         This patch is created to demonstrate cpplint.py.
3073
3074         No testcase because it's just a style fixes.
3075
3076         * rendering/AutoTableLayout.cpp:
3077         (WebCore::AutoTableLayout::recalcColumn):
3078         (WebCore::AutoTableLayout::layout):
3079         * rendering/InlineFlowBox.cpp:
3080         (WebCore::InlineFlowBox::placeEllipsisBox):
3081         * rendering/InlineTextBox.cpp:
3082         (WebCore::InlineTextBox::paintTextMatchMarker):
3083         * rendering/MediaControlElements.cpp:
3084         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3085         * rendering/MediaControlElements.h:
3086         * rendering/RenderArena.cpp:
3087         * rendering/RenderBlock.cpp:
3088         (WebCore::RenderBlock::startDelayUpdateScrollInfo):
3089         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
3090         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
3091         (WebCore::RenderBlock::positionNewFloats):
3092         (WebCore::RenderBlock::newLine):
3093         (WebCore::RenderBlock::floatBottom):
3094         (WebCore::RenderBlock::leftBottom):
3095         (WebCore::RenderBlock::rightBottom):
3096         * rendering/RenderBox.cpp:
3097         (WebCore::RenderBox::calcReplacedWidthUsing):
3098         * rendering/RenderFieldset.cpp:
3099         (WebCore::RenderFieldset::layoutLegend):
3100         * rendering/RenderFlexibleBox.cpp:
3101         (WebCore::FlexBoxIterator::FlexBoxIterator):
3102         (WebCore::FlexBoxIterator::reset):
3103         (WebCore::FlexBoxIterator::first):
3104         (WebCore::FlexBoxIterator::next):
3105         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3106         * rendering/RenderFrameSet.cpp:
3107         (WebCore::borderStartEdgeColor):
3108         * rendering/RenderFrameSet.h:
3109         * rendering/RenderImage.cpp:
3110         * rendering/RenderLayer.cpp:
3111         (WebCore::RenderLayer::updateVisibilityStatus):
3112         (WebCore::RenderLayer::calculateClipRects):
3113         (WebCore::RenderLayer::calculateRects):
3114         * rendering/RenderListBox.cpp:
3115         (WebCore::RenderListBox::panScroll):
3116         * rendering/RenderMarquee.cpp:
3117         (WebCore::RenderMarquee::updateMarqueeStyle):
3118         * rendering/RenderMedia.cpp:
3119         (WebCore::RenderMedia::updateControls):
3120         * rendering/RenderObject.cpp:
3121         (WebCore::RenderObject::drawLineForBoxSide):
3122         (WebCore::RenderObject::localCaretRect):
3123         * rendering/RenderSVGImage.cpp:
3124         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
3125         * rendering/RenderSlider.h:
3126         * rendering/RenderTable.cpp:
3127         (WebCore::RenderTable::outerBorderBottom):
3128         * rendering/RenderTableCol.h:
3129         * rendering/RenderTextControlSingleLine.cpp:
3130         (WebCore::RenderTextControlSingleLine::itemIsSeparator):
3131         * rendering/RenderThemeChromiumSkia.cpp:
3132         (WebCore::RenderThemeChromiumSkia::supportsHover):
3133         * rendering/RenderThemeChromiumWin.cpp:
3134         (WebCore::RenderThemeChromiumWin::supportsFocusRing):
3135         * rendering/SVGCharacterLayoutInfo.cpp:
3136         (WebCore::SVGCharacterLayoutInfo::addStackContent):
3137         * rendering/SVGCharacterLayoutInfo.h:
3138         * rendering/TextControlInnerElements.h:
3139         * rendering/bidi.cpp:
3140         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3141
3142 2009-07-07  Oliver Hunt  <oliver@apple.com>
3143
3144         Reviewed by Maciej Stachowiak.
3145
3146         Reduce complexity of lifetime management in DynamicNodeList caches
3147         <https://bugs.webkit.org/show_bug.cgi?id=27068>
3148
3149         Switch the Cache object used by DynamicNodeList into a normal
3150         refcounted object rather than having a weird flag controlled
3151         refcounting system, where positive refcount did not automatically
3152         imply the cache object would actually still be live.
3153
3154         * dom/DynamicNodeList.cpp:
3155         (WebCore::DynamicNodeList::DynamicNodeList):
3156         (WebCore::DynamicNodeList::~DynamicNodeList):
3157         (WebCore::DynamicNodeList::Caches::Caches):
3158         (WebCore::DynamicNodeList::Caches::create):
3159         * dom/DynamicNodeList.h:
3160         * dom/Node.cpp:
3161         (WebCore::Node::childNodes):
3162         (WebCore::Node::getElementsByTagNameNS):
3163         (WebCore::Node::getElementsByName):
3164         (WebCore::Node::getElementsByClassName):
3165         (WebCore::NodeListsNodeData::invalidateCaches):
3166         (WebCore::NodeListsNodeData::isEmpty):
3167         * dom/NodeRareData.h:
3168         (WebCore::NodeListsNodeData::NodeListsNodeData):
3169
3170 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
3171
3172         Reviewed by Dan Bernstein.
3173         
3174         -webkit-perspective should be a Length
3175         https://bugs.webkit.org/show_bug.cgi?id=27066
3176         
3177         -webkit-perspective should not take a magic valueless number, but should
3178         be a normal Length value which responds to zooming. Treat valueless numbers
3179         as pixels for backward compatibility.
3180         
3181         Test: transforms/3d/general/perspective-units.html
3182
3183         * css/CSSParser.cpp:
3184         (WebCore::CSSParser::parseValue):
3185         * css/CSSStyleSelector.cpp:
3186         (WebCore::CSSStyleSelector::applyProperty):
3187
3188 2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
3189
3190         Reviewed by Simon Fraser.
3191
3192         https://bugs.webkit.org/show_bug.cgi?id=27047
3193
3194         We need to make sure that when we reattach, we also reattach
3195         the children in every MediaControlElement. Else we may end up
3196         having no remaining or elapsed time.
3197
3198         We have to handle that, because we are using a special shadow
3199         tree in the DOM, and that we are ourselves handling
3200         attaching/detaching the renderer.
3201
3202         The strategy here is to try to implement ::attach(), and try
3203         to reuse as much code as we can from the super class, including
3204         children attachement.
3205
3206         Test: media/controls-after-reload.html
3207
3208         * rendering/MediaControlElements.cpp:
3209         (WebCore::MediaControlElement::styleForElement): Code factoring.
3210         (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
3211         (WebCore::MediaControlElement::attach): Implement attach
3212         and call super class so that children are also attached.
3213         (WebCore::MediaControlElement::updateStyle): Use attach()
3214         (WebCore::MediaControlInputElement::styleForElement): Code factoring.
3215         (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
3216         (WebCore::MediaControlInputElement::attach): See above.
3217         (WebCore::MediaControlInputElement::updateStyle): Use attach()
3218         * rendering/MediaControlElements.h:
3219         * rendering/RenderMedia.cpp:
3220         (WebCore::RenderMedia::updateControls): Directly run attach() on
3221         the m_panel, which is a root node for our shadow tree.
3222
3223 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
3224
3225         Reviewed by Dan Bernstein.
3226
3227         Repaint issue after layer drops out of composited mode.
3228         <https://bugs.webkit.org/show_bug.cgi?id=27022>
3229
3230         RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
3231         and expect these to stay valid from one style change to the next. These rects
3232         are relative to the repaint container, so if a layer stops being composited,
3233         we need to recompute them.
3234         
3235         Test: compositing/repaint/layer-repaint-rects.html
3236
3237         * rendering/RenderLayer.cpp:
3238         (WebCore::RenderLayer::computeRepaintRects):
3239         * rendering/RenderLayer.h:
3240         * rendering/RenderLayerCompositor.cpp:
3241         (WebCore::RenderLayerCompositor::updateBacking):
3242
3243 2009-07-07  Dan Bernstein  <mitz@apple.com>
3244
3245         Reviewed by Dave Hyatt and Darin Adler.
3246
3247         - fix https://bugs.webkit.org/show_bug.cgi?id=26963
3248           <rdar://problem/7030998> Reproducible crash at
3249           FontCache::getFontData() when a custom font is used in a pseudo-style
3250
3251         Test: fast/css/pseudo-cache-stale.html
3252
3253         * dom/Element.cpp:
3254         (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
3255         style and the new style, goes over cached pseudo-styles in the old
3256         style and re-resolves the same style types off the new style. If any of
3257         the new pseudo-styles is different from the currently cached
3258         corresponding style, returns true. Otherwise, returns false.
3259         (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
3260         deciding to keep the existing style.
3261         * dom/Element.h:
3262         * rendering/RenderObject.cpp:
3263         (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
3264         returns an uncached first-line style based off the given style.
3265         (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
3266         parameter.
3267         * rendering/RenderObject.h:
3268         * rendering/style/RenderStyle.cpp:
3269         (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
3270         pseudo-styles in the passed-in vector.
3271         * rendering/style/RenderStyle.h:
3272
3273 2009-07-07  Dan Bernstein  <mitz@apple.com>
3274
3275         Reviewed by Simon Fraser.
3276
3277         - fix https://bugs.webkit.org/show_bug.cgi?id=27042
3278           <rdar://problem/7010981> Incomplete painting of newly created floats
3279
3280         Tests: fast/repaint/float-in-new-block-with-layout-delta.html
3281                fast/repaint/float-new-in-block.html
3282
3283         * rendering/RenderBlock.cpp:
3284         (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
3285         laid out before, paint its overhanging floats in addition to itself.
3286         * rendering/RenderBlock.h:
3287         (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
3288         initialized a boolean everHadLayout member.
3289         * rendering/bidi.cpp:
3290         (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
3291         never been laid out before and did not move from (0, 0).
3292
3293 2009-07-07  Brady Eidson  <beidson@apple.com>
3294
3295         Contributions from both Darin Adler and Brady Eidson.
3296         Reviewed by Darin Adler.
3297
3298         <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
3299
3300         In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
3301         navigation was still in progress.
3302
3303         This patch makes things even better than it used to be by:
3304         - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
3305         - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
3306
3307         Test: fast/loader/subframe-navigate-during-main-frame-load.html
3308
3309         * loader/FrameLoader.cpp:
3310         (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
3311           used from multiple sites.
3312         (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
3313         (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
3314           lockBackForwardList flag.
3315         (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
3316
3317 2009-07-07  Nate Chapin  <japhet@chromium.org>
3318
3319         Reviewed by Darin Fisher.
3320
3321         Upstream DOMObjectsInclude.h from src.chromium.org.
3322
3323         https://bugs.webkit.org/show_bug.cgi?id=27035
3324
3325         * bindings/v8/DOMObjectsInclude.h: Added.
3326
3327 2009-07-07  Nate Chapin  <japhet@chromium.org>
3328
3329         Reviewed by David Levin.
3330
3331         Relanding r45559, which was rolled back at r45574.
3332
3333         https://bugs.webkit.org/show_bug.cgi?id=26857
3334
3335         * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
3336         * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
3337         * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
3338         * bindings/v8/V8LazyEventListener.cpp:
3339         (WebCore::V8LazyEventListener::getListenerFunction):
3340         * bindings/v8/V8Proxy.cpp:
3341         (WebCore::handleConsoleMessage):
3342         (WebCore::V8Proxy::compileScript):
3343         (WebCore::V8Proxy::sourceName):
3344         * bindings/v8/WorkerContextExecutionProxy.cpp:
3345         (WebCore::handleConsoleMessage):
3346         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3347         (WebCore::NAMED_PROPERTY_SETTER):
3348         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3349         (WebCore::CALLBACK_FUNC_DECL):
3350         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
3351         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
3352         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3353         (WebCore::CALLBACK_FUNC_DECL):
3354         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3355         (WebCore::CALLBACK_FUNC_DECL):
3356         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3357         (WebCore::ACCESSOR_SETTER):
3358         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3359         (WebCore::CALLBACK_FUNC_DECL):
3360         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3361         (WebCore::removeElement):
3362         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3363         (WebCore::CALLBACK_FUNC_DECL):
3364         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3365         (WebCore::SetTimeoutOrInterval):
3366         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3367         (WebCore::CALLBACK_FUNC_DECL):
3368
3369 2009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>
3370
3371         Reviewed by Darin Adler.
3372
3373         AX: Some webpages do not send AXLoadComplete
3374         https://bugs.webkit.org/show_bug.cgi?id=26995
3375
3376         When sending the AXLayoutComplete notification it is possible
3377         that the AXObjectCache was cleared, resulting in no valid
3378         object to send the notification to. This fix ensures that an
3379         AX object is created and cached if one does not already exist.
3380
3381         Not able to add a test because notifications get sent after the layout test is completed.
3382
3383         * dom/Document.cpp:
3384         (WebCore::Document::implicitClose):
3385
3386 2009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>
3387
3388         Reviewed by Simon Fraser.
3389
3390         https://bugs.webkit.org/show_bug.cgi?id=27015
3391
3392         Make sure that the CSS properties letter-spacing, word-spacing,
3393         line-height, text-transform, text-indent, text-shadow,
3394         text-decoration and color do not affect the media element controls,
3395         that display text.
3396
3397         Controls that display text are only present in when the theme
3398         MediaControllerThemeQT is being used.
3399
3400         Test: media/controls-styling.html
3401
3402         * css/mediaControlsQT.css:
3403         * rendering/MediaControlElements.cpp:
3404         (WebCore::MediaControlElement::updateStyle): Special case for
3405         text-decoration. text-decoration can't be overriden from CSS, because
3406         text-decoration is additive for historical reasons.
3407
3408 2009-07-07  Albert Wong  <ajwong@chromium.org>
3409
3410         Not reviewed, Chromium build fix.
3411
3412         Add in missing header + fix syntax issue that crept into last patch.
3413         https://bugs.webkit.org/show_bug.cgi?id=27027
3414
3415         * rendering/RenderThemeChromiumMac.mm:
3416         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
3417
3418 2009-07-07  Simon Fraser  <simon.fraser@apple.com>
3419
3420         Reviewed by Dave Hyatt.
3421
3422         Make use of geometry information to decide which layers become composited.
3423
3424         <rdar://problem/7011947>
3425         <https://bugs.webkit.org/show_bug.cgi?id=27021>
3426         
3427         In addition to looking at painting order, also, optionally, take layer
3428         overlap into account when deciding which RenderLayers need to be composited.
3429
3430         No testcase because DRT doesn't dump which layers are composited.
3431         
3432         * page/FrameView.h:
3433         * page/FrameView.cpp:
3434         (WebCore::FrameView::updateCompositingLayers):
3435         Removed the unused CompositingUpdate parameter, and just do an early return
3436         when there is no view.
3437         
3438         * rendering/RenderLayer.h:
3439         * rendering/RenderLayer.cpp:
3440         (WebCore::RenderLayer::rendererContentChanged):
3441         (WebCore::RenderLayer::dirtyZOrderLists):
3442         (WebCore::RenderLayer::dirtyNormalFlowList):
3443         (WebCore::RenderLayer::styleChanged):
3444         (WebCore::RenderLayer::mustOverlapCompositedLayers):
3445         (WebCore::RenderLayer::setMustOverlapCompositedLayers):
3446         Change "overlay" to "overlap" for consistency with the use of "overlap"
3447         elsewhere.
3448
3449         * rendering/RenderLayerBacking.cpp:
3450         (WebCore::RenderLayerBacking::updateAfterLayout):
3451         compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
3452         
3453         (WebCore::RenderLayerBacking::startAnimation):
3454         (WebCore::RenderLayerBacking::startTransition):
3455         Tell the compositor that we started an accelerated animation or transition.
3456         
3457         * rendering/RenderLayerCompositor.h:
3458         (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
3459         Renamed, since it's explicitly about changes in hierarchy now.
3460         
3461         (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
3462         (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
3463         New getter and setter for whether compositing should take overlap into account.
3464
3465         * rendering/RenderLayerCompositor.cpp:
3466         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3467         Add m_compositingConsultsOverlap, re-order some member variables.
3468         
3469         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
3470         Whitespace cleanup and method rename.
3471         
3472         (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
3473         Method and variable renaming.
3474         
3475         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3476         Now we have to run through the layer hierarchy every time if looking
3477         at overlap, because changes in layout can now alter compositing behavior.
3478         We minimize work by tracking whether we actually need to change the layer
3479         hierarchy via needLayerRebuild.
3480         
3481         (WebCore::RenderLayerCompositor::updateBacking):
3482         3D transforms turn off overlap mode.
3483         
3484         (WebCore::RenderLayerCompositor::layerWasAdded):
3485         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
3486         Method rename.
3487         
3488         (WebCore::RenderLayerCompositor::addToOverlapMap):
3489         (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
3490         Utility methods to add a layer to the overlapMap (computing the absolute
3491         bounding box only if we haven't already done so), and testing the map
3492         entries.
3493         
3494         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3495         If a layer would composite only because it comes after other compositing
3496         layers in the painting order, then consult the overlap map to determine whether
3497         it overlaps, and thus actually needs to composite.
3498         
3499         Add layers to the map when they must be composited.
3500         
3501         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3502         Only do re-parenting work if the updateHierarchy flag is set.
3503         
3504         (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
3505         When we start an accelerated transition or animation, we stop looking at
3506         overlap because we can no longer guarantee correct front-to-back ordering while the
3507         accelerated animation is running.
3508
3509         (WebCore::RenderLayerCompositor::needsToBeComposited):
3510         Method renames.
3511         
3512         * rendering/RenderView.cpp:
3513         (WebCore::RenderView::setMaximalOutlineSize):
3514         Add comment indicating that this could be optimized.
3515
3516 2009-07-14  Anton Muhin  <antonm@chromium.org>
3517
3518         Reviewed by Darin Fisher.
3519
3520         Speed up creation of V8 wrappers for DOM nodes.
3521
3522         https://bugs.webkit.org/show_bug.cgi?id=26882
3523
3524         This patch doesn't require new tests as it a set of refactorings
3525         to speed up wrapper creation.  
3526
3527         * bindings/v8/V8Proxy.cpp:
3528         * bindings/v8/V8Proxy.h:
3529
3530 2009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
3531
3532         Reviewed by Gustavo Noronha.
3533
3534         [GTK] textarea height property works only if other property are defined
3535         https://bugs.webkit.org/show_bug.cgi?id=18984
3536
3537         Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
3538
3539         Test: fast/forms/textarea-metrics.html
3540
3541         * platform/gtk/RenderThemeGtk.cpp:
3542         * platform/gtk/RenderThemeGtk.h:
3543
3544 2009-07-07  Ben Murdoch  <benm@google.com>
3545
3546         Reviewed by Antti Koivisto.
3547
3548         HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
3549         https://bugs.webkit.org/show_bug.cgi?id=25711
3550
3551         Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
3552         storage databases could become locked until the browser is shut
3553         down if the page is refreshed whilst a transaction is in progress.
3554
3555         Test: storage/database-lock-after-reload.html
3556
3557         * storage/Database.cpp:
3558         (WebCore::Database::Database):
3559         (WebCore::Database::close): add code to inform the database thread we've closed the database.
3560         (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
3561         * storage/Database.h:
3562         (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
3563         * storage/DatabaseThread.cpp:
3564         (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
3565         (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
3566         (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
3567         * storage/DatabaseThread.h:
3568         (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
3569
3570 2009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>
3571
3572         Reviewed by Jan Alonzo.
3573
3574         [Gtk] Paste of rich text from firefox results garbled markup
3575         https://bugs.webkit.org/show_bug.cgi?id=26791
3576
3577         Fix problem with UTF-16 clipboard pasted.
3578
3579         * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
3580         * platform/gtk/PasteboardGtk.cpp:
3581         (WebCore::Pasteboard::documentFragment):
3582
3583 2009-07-07  Yury Semikhatsky  <yurys@chromium.org>
3584
3585         Reviewed by Timothy Hatcher.
3586
3587         Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
3588
3589         https://bugs.webkit.org/show_bug.cgi?id=23849
3590
3591         * inspector/front-end/ScriptsPanel.js:
3592         (WebInspector.ScriptsPanel):
3593
3594 2009-07-06  Albert J. Wong  <ajwong@chromium.org>
3595
3596