Back up partial change in r48072 in order to fix chromium reliability build break.
[WebKit-https.git] / WebCore / ChangeLog
1 2009-09-05  Jian Li  <jianli@chromium.org>
2
3         Reviewed by NOBODY (Chromium reliability build break).
4
5         Back up partial change in r48072 in order to fix chromium reliability build break.
6
7         * bindings/v8/V8AbstractEventListener.cpp:
8         (WebCore::V8AbstractEventListener::invokeEventHandler):
9
10 2009-09-05  Nicolas Weber  <thakis@chromium.org>
11
12         Reviewed by Darin Fisher.
13
14         https://bugs.webkit.org/show_bug.cgi?id=28975
15         Fix file upload on chrome/mac. Images that have "Hide Extension" set,
16         such as screenshots by default, can now be uploaded to sites such as
17         imgur.com.
18
19         * platform/FileSystem.h:
20         Add pathGetDisplayFileName().
21         * platform/chromium/FileChooserChromium.cpp:
22         (WebCore::FileChooser::basenameForWidth):
23         Call pathGetDisplayFileName() instead of pathGetFileName().
24         * platform/chromium/FileSystemChromiumLinux.cpp:
25         (WebCore::pathGetDisplayFileName):
26         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
27         * platform/chromium/FileSystemChromiumMac.mm:
28         (WebCore::pathGetFileName):
29         Now returns a real filename instead of a presentational one, which
30         fixes the problem addressed by this change.
31         (WebCore::pathGetDisplayFileName):
32         New function that returns a presentational filename; does what
33         pathGetDisplayFileName() did prior to this patch.
34         * platform/chromium/FileSystemChromiumWin.cpp:
35         (WebCore::pathGetDisplayFileName):
36         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
37
38 2009-09-05  Joel Stanley  <joel@jms.id.au>
39
40         Reviewed by David Levin.
41
42         Expose functions to set the caret blink interval for Linux Chromium.
43         https://bugs.webkit.org/show_bug.cgi?id=28931
44
45         * rendering/RenderThemeChromiumLinux.cpp:
46         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
47         (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
48         * rendering/RenderThemeChromiumLinux.h:
49
50 2009-09-04  Dmitry Titov  <dimich@chromium.org>
51
52         Reviewed by David Levin.
53
54         Prevent UI freeze in case when too many timers are in the timer queue.
55         https://bugs.webkit.org/show_bug.cgi?id=23865
56
57         The fix measures the elapsed time while executing timers. If we have too many
58         timers and it takes significant time to fire, quit the loop and reschedule.
59         This lets the run loop process user input (close the window for example).
60
61         * platform/ThreadTimers.h:
62         * platform/ThreadTimers.cpp:
63         (WebCore::ThreadTimers::sharedTimerFiredInternal):
64         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
65         Removed functions and members used before to grab a list of all expired timers.
66         Now we fetch one by one, measuring time and quitting the loop if it takes too long.
67         * platform/Timer.cpp:
68         (WebCore::TimerBase::isActive):
69         (WebCore::TimerBase::setNextFireTime):
70         Since timers are now fired one by one, there is no need to keep track of updated timers.
71         * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
72         creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
73         so the browser un-freezes. This is instead of a regular layout test because we don't have a way
74         to inject an input events via regular run loop in DRT - instead they are directly dispatched by
75         eventSender, which does not reproduce the UI freeze that happens with real input.
76
77 2009-09-04  Anders Carlsson  <andersca@apple.com>
78
79         Reviewed by Adele Peterson.
80
81         <rdar://problem/7201063>
82         
83         Detach any custom scrollbars before detaching the document.
84         
85         * page/Frame.cpp:
86         (WebCore::Frame::setView):
87
88 2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
89
90                 Unreviewed, build fix.
91
92                 Remove remaining references to UserStyleSheetLoader after r48075.
93
94                 * WebCore.gypi:
95                 * WebCore.xcodeproj/project.pbxproj:
96                 * page/qt/FrameQt.cpp:
97                 * page/wince/FrameWince.cpp:
98
99 2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
100
101                 Reviewed by David Levin.
102
103                 https://bugs.webkit.org/show_bug.cgi?id=28988
104                 Minor fix: "novalidate" attribute renamed in "noValidate", according to
105                 HTML5 specs:
106                 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
107
108                 * html/HTMLFormElement.cpp:
109                 (WebCore::HTMLFormElement::noValidate):
110                 (WebCore::HTMLFormElement::setNoValidate):
111                 * html/HTMLFormElement.h:
112                 * html/HTMLFormElement.idl:
113
114 2009-09-04  Dmitry Titov  <dimich@chromium.org>
115
116         Reviewed by David Levin.
117
118         Remove unused line of code from WorkerContext
119         https://bugs.webkit.org/show_bug.cgi?id=28990
120
121         * workers/WorkerContext.cpp:
122         (WebCore::WorkerContext::importScripts):
123
124 2009-09-04  Darin Adler  <darin@apple.com>
125
126         Reviewed by Oliver Hunt.
127
128         Fix assertion seen when running buildbot.
129
130         * bindings/js/JSDOMBinding.h:
131         (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
132         the HasDefaultMark bit since this has a custom mark function.
133
134 2009-09-04  Dave Hyatt  <hyatt@apple.com>
135
136         Reviewed by Adam Roben.
137
138         https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
139         Make sure the other code path (now used by everybody) can handle data URLs.
140
141         As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
142         hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
143         that anybody is relying on this support.
144         
145         Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
146         code.
147
148         * WebCore.pro:
149         * WebCore.xcodeproj/project.pbxproj:
150         * dom/Document.cpp:
151         (WebCore::Document::userStyleSheet):
152         * dom/Document.h:
153         * loader/FrameLoader.cpp:
154         (WebCore::FrameLoader::begin):
155         * loader/UserStyleSheetLoader.cpp: Removed.
156         * loader/UserStyleSheetLoader.h: Removed.
157         * page/Frame.cpp:
158         (WebCore::Frame::reapplyStyles):
159         * page/Frame.h:
160         * page/Page.cpp:
161         (WebCore::Page::userStyleSheetLocationChanged):
162         (WebCore::Page::userStyleSheet):
163         * page/mac/FrameMac.mm:
164         * page/qt/FrameQt.cpp:
165
166 2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
167
168         Reviewed by Timothy Hatcher.
169
170         Add "sampling profiler" preference, simplify data display when it's set.
171
172         https://bugs.webkit.org/show_bug.cgi?id=28969
173
174         * inspector/front-end/ProfileDataGridTree.js:
175         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
176         (WebInspector.ProfileDataGridNode.prototype.get data):
177         * inspector/front-end/ProfileView.js:
178         (WebInspector.ProfileView):
179         * inspector/front-end/inspector.js:
180
181 2009-09-04  Jian Li  <jianli@chromium.org>
182
183         Reviewed by Adam Barth.
184
185         [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
186         https://bugs.webkit.org/show_bug.cgi?id=28980
187
188         Tested by worker-close.html.
189
190         * bindings/v8/ScriptFunctionCall.cpp:
191         * bindings/v8/V8AbstractEventListener.cpp:
192         (WebCore::V8AbstractEventListener::invokeEventHandler):
193         * bindings/v8/V8Utilities.cpp:
194         (WebCore::getScriptExecutionContext):
195         (WebCore::reportException):
196         * bindings/v8/V8Utilities.h:
197         (WebCore::getScriptExecutionContext):
198         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
199         (WebCore::CALLBACK_FUNC_DECL):
200         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
201         (WebCore::CALLBACK_FUNC_DECL):
202         * bindings/v8/custom/V8WorkerCustom.cpp:
203         (WebCore::CALLBACK_FUNC_DECL):
204         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
205         (WebCore::CALLBACK_FUNC_DECL):
206         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
207         (WebCore::CALLBACK_FUNC_DECL):
208
209 2009-09-04  Dave Hyatt  <hyatt@apple.com>
210
211         Reviewed by Anders Carlsson.
212
213         Remove unused m_sheet variable and setCSSStyleSheet methods.
214
215         * dom/Document.cpp:
216         * dom/Document.h:
217
218 2009-09-04  Anders Carlsson  <andersca@apple.com>
219
220         Reviewed by David Hyatt and Adele Peterson.
221
222         (Based on a patch from Adele).
223         
224         Fix <rdar://problem/7185875>.
225         
226         * page/Frame.cpp:
227         (WebCore::Frame::setView):
228         Detach any custom scroll bars from the old view.
229         
230         * page/FrameView.cpp:
231         (WebCore::FrameView::detachCustomScrollbars):
232         Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
233         not a RenderPart object.
234
235         * rendering/RenderObject.cpp:
236         (WebCore::RenderObject::destroy):
237         ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
238
239 2009-09-04  Dave Hyatt  <hyatt@apple.com>
240
241         Reviewed by Adam Roben.
242
243         Make m_userStyleSheetLoader in Frame an OwnPtr.
244
245         * page/Frame.cpp:
246         (WebCore::Frame::Frame):
247         (WebCore::Frame::~Frame):
248         * page/Frame.h:
249         * page/mac/FrameMac.mm:
250         (WebCore::Frame::setUserStyleSheetLocation):
251         (WebCore::Frame::setUserStyleSheet):
252
253 2009-09-04  Timothy Hatcher  <timothy@apple.com>
254
255         Show color swatches in the Web Inspector before the color text so clicking them will not
256         shift the swatch. Also makes multiple swatches in the single property toggle the color format.
257
258         https://bugs.webkit.org/show_bug.cgi?id=28978
259
260         Reviewed by Darin Adler.
261
262         * inspector/front-end/StylesSidebarPane.js:
263         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
264         the processing we do on the property value. This eliminated the old nickname code, since the new
265         WebInspector.Color class handles this. We could also simplify the color regex since more
266         is handled by the Color class. Also no longer uses innerHTML for the linkify code.
267         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
268         process a value given a regex and processor functions. 
269         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
270         URL with "url()" syntax surrounding it.
271         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
272         there was an exception just return a text node.
273         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
274         Moved from later in the file.
275         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
276         * inspector/front-end/inspector.css:
277
278 2009-09-04  Mark Mentovai  <mark@chromium.org>
279
280         Reviewed by Dave Hyatt.
281
282         https://bugs.webkit.org/show_bug.cgi?id=28614
283
284         Account for scrollbar state changes that occur during layout.
285
286         * platform/ScrollView.cpp:
287         (WebCore::ScrollView::updateScrollbars):
288
289         Perform a layout prior to checking whether the scrollbar modes are
290         off, on, or automatic.  The modes may change during layout.
291
292         * WebCore.base.exp:
293         * WebCore.order:
294         * page/Frame.cpp:
295         (WebCore::Frame::createView):
296         * page/FrameView.cpp:
297         (WebCore::FrameView::FrameView):
298         (WebCore::FrameView::resetScrollbars):
299         (WebCore::FrameView::layout):
300         * page/FrameView.h:
301         * platform/ScrollView.h:
302
303         Eliminate duplicated (and incorrect) scrollbar mode tracking between
304         FrameView and ScrollView.
305
306 2009-09-04  Yael Aharon  <yael.aharon@nokia.com>
307
308         Reviewed by Darin Adler.
309
310         hostname and host are mixed up when manipulating anchor elements.
311         https://bugs.webkit.org/show_bug.cgi?id=28954
312
313         Swapped the implementation of host and hostname, and made sure not to return
314         the port number if it is default for the given protocol. 
315         FireFox also avoids returning the protocol number if it is default.
316
317         Test: fast/dom/Element/hostname-host.html
318
319         * html/HTMLAnchorElement.cpp:
320         (WebCore::HTMLAnchorElement::host):
321         (WebCore::HTMLAnchorElement::hostname):
322         * page/SecurityOrigin.cpp:
323         (WebCore::SecurityOrigin::isDefaultPortForProtocol):
324         * page/SecurityOrigin.h:
325
326 2009-09-04  Anders Carlsson  <andersca@apple.com>
327
328         Reviewed by Darin Adler and Steve Falkenburg.
329
330         Fix <rdar://problem/7192902>.
331
332         Add the necessary plumbing for having QTMovieWin use WebCore timers.
333         
334         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
335         (WebCore::TaskTimer::initialize):
336         Create the timer and call QTMovieWin::setTaskTimerFuncs.
337         
338         (WebCore::TaskTimer::setTaskTimerDelay):
339         Start the timer.
340         
341         (WebCore::TaskTimer::stopTaskTimer):
342         Stop the timer.
343         
344         (WebCore::TaskTimer::fired):
345         Call QTMovieWin::taskTimerFired().
346         
347         (WebCore::MediaPlayerPrivate::load):
348         Initialize the Task timer.
349         
350         * platform/graphics/win/QTMovieWin.cpp:
351         (updateTaskTimer):
352         Call the global stopTaskTimer function and setTaskTimerDelay.
353         
354         (QTMovieWin::taskTimerFired):
355         Make this a member function.
356         
357         (QTMovieWin::setTaskTimerFuncs):
358         Set the global function pointers.
359         
360         (QTMovieWin::initializeQuickTime):
361         (DllMain):
362         No need to use the QT shared timer.
363         * platform/graphics/win/QTMovieWin.h:
364
365 2009-09-04  Tony Chang  <tony@chromium.org>
366
367         Reviewed by David Levin.
368
369         Fix Chromium Win compile.  Missing return statement in
370         WebCore::RenderThemeChromiumSkia::paintSliderThumb.
371         https://bugs.webkit.org/show_bug.cgi?id=28974
372
373         No new tests, build fix.
374
375         * rendering/RenderThemeChromiumSkia.cpp:
376         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
377
378 2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
379
380         Unreviewed, build fix.
381
382         [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
383         the build.
384         https://bugs.webkit.org/show_bug.cgi?id=28696
385
386 2009-09-04  Anders Carlsson  <andersca@apple.com>
387
388         Fix vcproj file.
389
390         * WebCore.vcproj/WebCore.vcproj:
391
392 2009-09-03  Dave Hyatt  <hyatt@apple.com>
393
394         Reviewed by Adam Roben.
395
396         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
397         
398         This patch adds new API for adding and removing user scripts from page groups.  User scripts
399         are bundled together in isolated worlds (you can have multiple scripts together in the same
400         world).
401
402         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
403
404         * WebCore.base.exp:
405         * WebCore.vcproj/WebCore.vcproj:
406         * WebCore.xcodeproj/project.pbxproj:
407         * bindings/js/ScriptController.cpp:
408         (WebCore::ScriptController::evaluateInIsolatedWorld):
409         * bindings/js/ScriptController.h:
410         * bindings/v8/ScriptController.cpp:
411         (WebCore::ScriptController::evaluateInIsolatedWorld):
412         * bindings/v8/ScriptController.h:
413         * loader/FrameLoader.cpp:
414         (WebCore::FrameLoader::finishedParsing):
415         (WebCore::FrameLoader::dispatchDocumentElementAvailable):
416         * page/Frame.cpp:
417         (WebCore::Frame::injectUserScripts):
418         (WebCore::Frame::injectUserScriptsForWorld):
419         * page/Frame.h:
420         * page/PageGroup.cpp:
421         (WebCore::PageGroup::~PageGroup):
422         (WebCore::PageGroup::addUserScript):
423         (WebCore::PageGroup::removeUserContentForWorld):
424         (WebCore::PageGroup::removeAllUserContent):
425         * page/PageGroup.h:
426         (WebCore::PageGroup::userScripts):
427         * page/UserScript.h: Added.
428         (WebCore::UserScript::UserScript):
429         (WebCore::UserScript::source):
430         (WebCore::UserScript::url):
431         (WebCore::UserScript::patterns):
432         (WebCore::UserScript::worldID):
433         (WebCore::UserScript::injectionTime):
434         * page/UserScriptTypes.h: Added.
435         (WebCore::):
436
437 2009-09-04  Alexey Proskuryakov  <ap@apple.com>
438
439         Reviewed by Eric Seidel.
440
441         https://bugs.webkit.org/show_bug.cgi?id=26402
442         Crashes when using a detached DocumentType node
443
444         Test: fast/dom/DOMImplementation/detached-doctype.html
445
446         DocumentType nodes are the only one that can have null document(), and they can never have
447         children, so they are a degenerate case for NodeLists.
448
449         * dom/Node.cpp:
450         (WebCore::Node::childNodes): Don't try register node list with document if there's no
451         document. Since there are no changes possible for a DocumentType's node list, this is not
452         necessary.
453         (WebCore::Node::registerDynamicNodeList): Ditto.
454         (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
455         was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
456         de-registration code path that I saw taken was via Node destructor, and that already has
457         a null check for document).
458
459         * bindings/js/JSNodeCustom.cpp:
460         (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
461         if there is no window).
462         (WebCore::JSNode::removeEventListener): Ditto.
463
464 2009-09-04  Xan Lopez  <xlopez@igalia.com>
465
466         Reviewed by Gustavo Noronha.
467
468         [GTK] loadFinished never emitted
469         https://bugs.webkit.org/show_bug.cgi?id=28935
470
471         Do not report errors right away from
472         ResourceHandle::start. Instead return true and schedule an error
473         to be reported in the handle later. Otherwise WebCore gets
474         confused and thinks the resource never finished loading, making it
475         not emit the finished status.
476
477         * platform/network/soup/ResourceHandleSoup.cpp:
478         (WebCore::startHttp):
479         (WebCore::):
480
481 2009-09-04  Ben Murdoch  <benm@google.com>
482
483         Reviewed by Eric Seidel.
484
485         [V8] DOM Storage bindings: Event Handler should create StorageEvents
486         https://bugs.webkit.org/show_bug.cgi?id=28942
487         
488         Tests:
489         Causes the following tests that were failing with V8 to pass:
490         * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
491         * storage/domstorage/localstorage/complex-keys.html
492         * storage/domstorage/localstorage/onstorage-attribute-markup.html
493         * storage/domstorage/localstorage/simple-events.html
494         * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
495         * storage/domstorage/localstorage/index-get-and-set.html
496         * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
497         * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
498         * storage/domstorage/sessionstorage/simple-events.html
499         * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
500         * storage/domstorage/sessionstorage/index-get-and-set.html
501
502         Code changes:
503         * bindings/v8/V8DOMWrapper.cpp:
504         (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
505         * bindings/v8/custom/V8StorageCustom.cpp:
506         (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
507
508 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
509
510         Reviewed by Timothy Hatcher.
511
512         https://bugs.webkit.org/show_bug.cgi?id=28911
513
514         * WebCore.gypi:
515         * WebCore.vcproj/WebCore.vcproj:
516         * inspector/InspectorBackend.cpp:
517         (WebCore::InspectorBackend::dispatchOnInjectedScript):
518         * inspector/InspectorBackend.h:
519         * inspector/InspectorBackend.idl:
520         * inspector/front-end/ConsoleView.js:
521         (WebInspector.ConsoleView.prototype.doEvalInWindow):
522         (WebInspector.ConsoleView.prototype._formatarray):
523         (WebInspector.ConsoleView.prototype._formatnode):
524         * inspector/front-end/DOMAgent.js:
525         * inspector/front-end/ElementsPanel.js:
526         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
527         (WebInspector.ElementsPanel.prototype.searchCanceled):
528         (WebInspector.ElementsPanel.prototype.performSearch):
529         * inspector/front-end/InjectedScript.js:
530         (InjectedScript.dispatch):
531         * inspector/front-end/InjectedScriptAccess.js: Added.
532         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
533         (InjectedScriptAccess._installHandler):
534         * inspector/front-end/MetricsSidebarPane.js:
535         (WebInspector.MetricsSidebarPane.prototype.update):
536         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
537         * inspector/front-end/ObjectPropertiesSection.js:
538         (WebInspector.ObjectPropertiesSection.prototype.update):
539         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
540         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
541         * inspector/front-end/PropertiesSidebarPane.js:
542         (WebInspector.PropertiesSidebarPane.prototype.update):
543         * inspector/front-end/ResourcesPanel.js:
544         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
545         * inspector/front-end/ScriptsPanel.js:
546         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
547         * inspector/front-end/StylesSidebarPane.js:
548         (WebInspector.StylesSidebarPane.prototype.update):
549         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
550         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
551         (WebInspector.StylePropertyTreeElement.prototype):
552         * inspector/front-end/inspector.html:
553
554 2009-09-04  Tony Chang  <tony@chromium.org>
555
556         Reviewed by Eric Seidel.
557
558         Implement <input type="range"> for Chromium Linux by painting
559         the slider and the thumb using skia.
560         https://bugs.webkit.org/show_bug.cgi?id=28928
561
562         Covered by existing tests (we're currently hitting an assert for them).
563
564         * rendering/RenderThemeChromiumLinux.cpp:
565         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
566         * rendering/RenderThemeChromiumLinux.h:
567         * rendering/RenderThemeChromiumSkia.cpp:
568         (WebCore::drawVertLine):
569         (WebCore::drawHorizLine):
570         (WebCore::drawBox):
571         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
572         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
573         * rendering/RenderThemeChromiumSkia.h:
574
575 2009-09-04  Kent Tamura  <tkent@chromium.org>
576
577         Reviewed by Eric Seidel.
578
579         - Implement <input type=color> as a text field.
580         - ValidityState::typeMismatch supports for type=color.
581         https://bugs.webkit.org/show_bug.cgi?id=28966
582
583         Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
584                fast/forms/ValidityState-typeMismatch-color.html
585
586         * html/HTMLInputElement.cpp:
587         (WebCore::HTMLInputElement::valueMissing):
588         (WebCore::HTMLInputElement::patternMismatch):
589         (WebCore::HTMLInputElement::setInputType):
590         (WebCore::HTMLInputElement::formControlType):
591         (WebCore::HTMLInputElement::saveFormControlState):
592         (WebCore::HTMLInputElement::restoreFormControlState):
593         (WebCore::HTMLInputElement::accessKeyAction):
594         (WebCore::HTMLInputElement::rendererIsNeeded):
595         (WebCore::HTMLInputElement::createRenderer):
596         (WebCore::HTMLInputElement::appendFormData):
597         (WebCore::HTMLInputElement::valueWithDefault):
598         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
599         (WebCore::HTMLInputElement::defaultEventHandler):
600         (WebCore::HTMLInputElement::isRequiredFormControl):
601         (WebCore::HTMLInputElement::dataList):
602         * html/HTMLInputElement.h:
603         (WebCore::HTMLInputElement::):
604         (WebCore::HTMLInputElement::isTextField):
605         * html/ValidityState.cpp:
606         (WebCore::ValidityState::typeMismatch):
607         (WebCore::ValidityState::isValidColorString):
608         * html/ValidityState.h:
609
610 2009-09-04  Mads Ager  <ager@chromium.org>
611
612         Reviewed by David Levin.
613
614         [V8] Crash when updating document cache
615         https://bugs.webkit.org/show_bug.cgi?id=28965
616
617         Initialization of a V8 JavaScript context can fail.  When that
618         happens, do not attempt to update the document wrapper cache.
619
620         This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
621
622         * bindings/v8/V8Proxy.cpp:
623         (WebCore::V8Proxy::updateDocument):
624
625 2009-09-04  Yaar Schnitman  <yaar@chromium.org>
626
627         Reviewed by Eric Seidel.
628
629         Two bugs:
630
631         https://bugs.webkit.org/show_bug.cgi?id=25489
632         CSS property background-position is now serialized in shorthand string as
633         background-position-x background-position-y, as the specification requires
634         (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
635         
636
637         https://bugs.webkit.org/show_bug.cgi?id=26541
638         CSS background-color is now be serialized before other background properties, 
639         as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
640
641         An existing layout test that accepted wrong order and skipped position test 
642         had to be modified.
643
644         * css/CSSMutableStyleDeclaration.cpp:
645         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
646
647 2009-09-03  Kent Tamura  <tkent@chromium.org>
648
649         Reviewed by David Levin.
650
651         Add support for HTMLTextAreaElement.textLength
652         https://bugs.webkit.org/show_bug.cgi?id=28929
653
654         Test: fast/forms/textarea-textlength.html
655
656         * html/HTMLTextAreaElement.h:
657         (WebCore::HTMLTextAreaElement::textLength):
658         * html/HTMLTextAreaElement.idl:
659
660 2009-09-03  Alexey Proskuryakov  <ap@apple.com>
661
662         Reviewed by Darin Adler.
663
664         <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
665         REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
666
667         Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
668
669         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
670         cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
671         DocumentType node in two documents.
672
673 2009-09-03  Brady Eidson  <beidson@apple.com>
674
675         Reviewed by Sam Weinig.
676
677         Page Cache should support pages with Frames.
678         https://bugs.webkit.org/show_bug.cgi?id=13631
679
680         Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
681                fast/loader/frames-with-unload-handlers-in-page-cache.html
682
683         * loader/FrameLoader.cpp:
684         (WebCore::FrameLoader::canCachePageContainingThisFrame):
685         (WebCore::FrameLoader::logCanCacheFrameDecision):
686
687 2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
688
689         Reviewed by Eric Seidel.
690
691         Handle middle click in Chromium like QT
692         https://bugs.webkit.org/show_bug.cgi?id=28696
693
694         Tested by middle-click-onpaste.html.
695
696         * platform/Pasteboard.h:
697         * platform/chromium/ChromiumBridge.h:
698         * platform/chromium/ClipboardChromium.cpp:
699         (WebCore::ClipboardChromium::getData):
700         * platform/chromium/PasteboardChromium.cpp:
701         (WebCore::Pasteboard::Pasteboard):
702         (WebCore::Pasteboard::isSelectionMode):
703         (WebCore::Pasteboard::setSelectionMode):
704         (WebCore::Pasteboard::canSmartReplace):
705         (WebCore::Pasteboard::plainText):
706         (WebCore::Pasteboard::documentFragment):
707         * platform/chromium/PasteboardPrivate.h:
708         (WebCore::PasteboardPrivate::):
709
710 2009-09-03  Brady Eidson  <beidson@apple.com>
711
712         Reviewed by Sam Weinig.
713
714         More partial work towards "Page Cache should support pages with Frames"
715         https://bugs.webkit.org/show_bug.cgi?id=13631
716
717         Fix a bug where subframes weren't asked if they were cacheable.
718
719         No new tests, especially since page caching for frames isn't turned on yet.
720         A layout test will come in my next patch, which enables frames in the page cache.
721
722         * loader/FrameLoader.cpp:
723         (WebCore::FrameLoader::canCachePageContainingThisFrame):
724
725 2009-09-03  Adam Barth  <abarth@webkit.org>
726
727         Reviewed by eric@webkit.org.
728
729         https://bugs.webkit.org/show_bug.cgi?id=24696
730
731         Added mixed content methods to FrameLoaderClient.
732
733         * loader/EmptyClients.h:
734         (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
735         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
736         * loader/FrameLoaderClient.h:
737
738 2009-09-03  Kevin Watters  <kevinwatters@gmail.com>
739
740         Reviewed by Kevin Ollivier.
741
742         [wx] Frames support
743         https://bugs.webkit.org/show_bug.cgi?id=19041
744
745         * page/wx/EventHandlerWx.cpp:
746         (WebCore::EventHandler::passMousePressEventToSubframe):
747         (WebCore::EventHandler::passMouseMoveEventToSubframe):
748         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
749         (WebCore::EventHandler::passWheelEventToWidget):
750         (WebCore::EventHandler::tabsToAllControls):
751         (WebCore::EventHandler::passSubframeEventToSubframe):
752         (WebCore::EventHandler::passMouseDownEventToWidget):
753         * platform/wx/RenderThemeWx.cpp:
754         (WebCore::nativeWindowForRenderObject):
755         (WebCore::RenderThemeWx::paintButton):
756         (WebCore::RenderThemeWx::paintTextField):
757         (WebCore::RenderThemeWx::paintMenuList):
758         (WebCore::RenderThemeWx::paintMenuListButton):
759         * platform/wx/ScrollbarThemeWx.cpp: Added.
760         (WebCore::ScrollbarTheme::nativeTheme):
761         (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
762         (WebCore::ScrollbarThemeWx::scrollbarThickness):
763         (WebCore::ScrollbarThemeWx::hasThumb):
764         (WebCore::ScrollbarThemeWx::buttonSize):
765         (WebCore::ScrollbarThemeWx::backButtonRect):
766         (WebCore::ScrollbarThemeWx::forwardButtonRect):
767         (WebCore::ScrollbarThemeWx::trackRect):
768         (WebCore::ScrollbarThemeWx::paintScrollCorner):
769         (WebCore::ScrollbarThemeWx::paint):
770         * platform/wx/ScrollbarThemeWx.h: Added.
771         (WebCore::ScrollbarThemeWx::hasButtons):
772         * platform/wx/TemporaryLinkStubs.cpp:
773         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
774         (wxStyleForPart):
775         (GetButtonWidget):
776         (wxGetGdkWindowForDC):
777         (wxRenderer_DrawScrollbar):
778         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
779         (wxScrollbarPartToHIPressedState):
780         (wxRenderer_DrawScrollbar):
781         * platform/wx/wxcode/scrollbar_render.h: Added.
782         (calcThumbStartAndLength):
783         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
784         (WebCore::drawTextWithSpacing):
785         * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
786         (GraphicsHDC::GraphicsHDC):
787         (GraphicsHDC::~GraphicsHDC):
788         (GraphicsHDC::operator HDC):
789         (getTSStateForPart):
790         (wxRenderer_DrawScrollbar):
791         * webcore-wx.bkl:
792
793 2009-09-03  Yael Aharon  <yael.aharon@nokia.com>
794
795         Reviewed by Simon Hausmann.
796
797         [Qt] Page content is not displayed in case of HTTP status error
798         https://bugs.webkit.org/show_bug.cgi?id=28949
799
800         If the server sent content, show it to the user instead of an error,
801         even if the HTTP status code is not success.
802
803         * platform/network/qt/QNetworkReplyHandler.cpp:
804         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
805         (WebCore::QNetworkReplyHandler::finish):
806         (WebCore::QNetworkReplyHandler::forwardData):
807         (WebCore::QNetworkReplyHandler::resetState):
808         * platform/network/qt/QNetworkReplyHandler.h:
809
810 2009-09-03  Drew Wilson  <atwilson@google.com>
811
812         Reviewed by Dimitri Glazkov.
813
814         Need to update v8 bindings to support passing multiple ports to postMessage()
815         https://bugs.webkit.org/show_bug.cgi?id=28839
816
817         Added support for passing MessagePortArray to v8 bindings.
818
819         New tests that now pass with V8:
820                fast/events/message-port-multi.html
821                fast/workers/worker-context-multi-port.html
822                fast/workers/worker-multi-port.html
823
824         * WebCore.gypi:
825         Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
826         * bindings/v8/custom/V8CustomBinding.h:
827         Added custom postMessage() handlers for various classes.
828         * bindings/v8/custom/V8DOMWindowCustom.cpp:
829         (WebCore::DOMWindowPostMessage):
830         Added custom handler that supports MessagePortArray.
831         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
832         (WebCore::DedicatedWorkerContextPostMessage):
833         Added custom handler that supports MessagePortArray.
834         * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
835         (WebCore::MessageEventPorts):
836         Added getter for ports attribute.
837         (WebCore::MessageEventInitMessageEvent):
838         Added custom handler that supports MessagePortArray.
839         * bindings/v8/custom/V8MessagePortCustom.cpp:
840         (WebCore::MessagePortPostMessage):
841         Added custom handler that supports MessagePortArray.
842         (WebCore::getMessagePortArray):
843         Added helper function that supports converting from a sequence-like object to a MessagePortArray.
844         * bindings/v8/custom/V8MessagePortCustom.h: Added.
845         Added declaration for getMessagePortArray().
846         * bindings/v8/custom/V8WorkerCustom.cpp:
847         (WebCore::WorkerPostMessage):
848         Added custom handler that supports MessagePortArray.
849
850 2009-09-03  Drew Wilson  <atwilson@google.com>
851
852         Reviewed by Sam Weinig.
853
854         Need to update JS bindings and IDL files to support multiple message ports in postMessage()
855         https://bugs.webkit.org/show_bug.cgi?id=28460
856
857         Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
858
859         Tests: fast/events/message-port-multi.html
860                fast/workers/worker-context-multi-port.html
861                fast/workers/worker-multi-port.html
862
863         * GNUmakefile.am:
864         * WebCore.gypi:
865         * WebCore.pro:
866         * WebCore.vcproj/WebCore.vcproj:
867         * WebCore.xcodeproj/project.pbxproj:
868         * WebCoreSources.bkl:
869         Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
870         * bindings/js/JSDOMBinding.cpp:
871         (WebCore::toJSSequence):
872         Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
873         * bindings/js/JSDOMBinding.h:
874         * bindings/js/JSDOMWindowCustom.cpp:
875         (WebCore::JSDOMWindow::postMessage):
876         Added custom handler for postMessage() that handles being passed MessagePortArrays.
877         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
878         (WebCore::JSDedicatedWorkerContext::postMessage):
879         Added custom handler for postMessage() that handles being passed MessagePortArrays.
880         * bindings/js/JSMessageEventCustom.cpp: Added.
881         (WebCore::JSMessageEvent::ports):
882         Added custom ports() getter that converts from MessagePortArray to JSArray.
883         (WebCore::JSMessageEvent::initMessageEvent):
884         Added support for passing a MessagePortArray.
885         * bindings/js/JSMessagePortCustom.cpp:
886         (WebCore::JSMessagePort::postMessage):
887         Added custom handler for postMessage() that handles being passed MessagePortArray.
888         (WebCore::fillMessagePortArray):
889         New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
890         * bindings/js/JSMessagePortCustom.h: Added.
891         * bindings/js/JSWorkerCustom.cpp:
892         (WebCore::JSWorker::postMessage):
893         Added custom handler for postMessage() that handles being passed MessagePortArray.
894         * dom/MessageEvent.cpp:
895         * dom/MessageEvent.h:
896         (WebCore::MessageEvent::ports):
897         Changed ports() to return a MessagePortArray* since this value can be null.
898         * dom/MessageEvent.idl:
899         Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
900         * dom/MessagePort.cpp:
901         * dom/MessagePort.h:
902         * dom/MessagePort.idl:
903         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
904         * page/DOMWindow.h:
905         * page/DOMWindow.idl:
906         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
907         * workers/DedicatedWorkerContext.cpp:
908         * workers/DedicatedWorkerContext.h:
909         * workers/DedicatedWorkerContext.idl:
910         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
911         * workers/Worker.cpp:
912         * workers/Worker.h:
913         * workers/Worker.idl:
914         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
915
916 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
917
918         Reviewed by Timothy Hatcher.
919
920         WebInspector: Do not query non-function call frames for function name.
921
922         https://bugs.webkit.org/show_bug.cgi?id=28799
923
924         * inspector/front-end/InjectedScript.js:
925         (InjectedScript.CallFrameProxy):
926         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
927
928 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
929
930         Reviewed by Timothy Hatcher.
931
932         Crash after typing "clear" and pressing return in inspector console.
933
934         https://bugs.webkit.org/show_bug.cgi?id=28684
935
936         * inspector/front-end/InjectedScript.js:
937         (InjectedScript._clearConsoleMessages):
938         (InjectedScript._inspectObject):
939         (InjectedScript._ensureCommandLineAPIInstalled):
940
941 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
942
943         Reviewed by Adam Barth.
944
945         [V8] Squeezed out some performance from string conversion.
946         https://bugs.webkit.org/show_bug.cgi?id=28945
947
948         * bindings/v8/V8Binding.cpp:
949         (WebCore::WebCoreStringResource::WebCoreStringResource):
950         (WebCore::WebCoreStringResource::~WebCoreStringResource):
951         (WebCore::WebCoreStringResource::data):
952         (WebCore::WebCoreStringResource::length):
953         (WebCore::WebCoreStringResource::atomicString):
954         (WebCore::WebCoreStringResource::string):
955         Avoid calling virtual length method. Be more explicit with
956         external memory computation. Avoid function calls in data and
957         length.
958         (WebCore::):
959         (WebCore::v8StringToWebCoreString):
960         (WebCore::v8StringToAtomicWebCoreString):
961         (WebCore::v8NonStringValueToWebCoreString):
962         (WebCore::v8NonStringValueToAtomicWebCoreString):
963         Avoid extra calls of WebCoreStringResource::toString. When
964         AtomicString is computed pass it immediately when constructing
965         WebCoreStringResource. Use inline buffer for small strings.
966         * bindings/v8/V8Binding.h:
967         (WebCore::v8ValueToWebCoreString):
968         (WebCore::v8ValueToAtomicWebCoreString):
969         (WebCore::toString):
970         Inline dispatch of string vs. non-string values.
971
972 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
973
974         Reviewed by Adam Barth.
975
976         [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
977         up V8Proxy lookup.
978         https://bugs.webkit.org/show_bug.cgi?id=28946
979
980         * bindings/v8/V8IsolatedWorld.cpp:
981         (WebCore::V8IsolatedWorld::getEnteredImpl):
982         * bindings/v8/V8IsolatedWorld.h:
983         (WebCore::V8IsolatedWorld::getEntered):
984
985 2009-09-03  Kent Tamura  <tkent@chromium.org>
986
987         Reviewed by Eric Seidel.
988
989         Fix a regression bug that maxLength doesn't work for IME input.
990         https://bugs.webkit.org/show_bug.cgi?id=25253
991
992         Tests: fast/forms/input-maxlength-ime-completed.html
993                fast/forms/input-maxlength-ime-preedit.html
994
995         * dom/InputElement.cpp:
996         (WebCore::InputElement::handleBeforeTextInsertedEvent):
997         * dom/InputElement.h:
998         * html/HTMLInputElement.cpp:
999         (WebCore::HTMLInputElement::defaultEventHandler):
1000         * wml/WMLInputElement.cpp:
1001         (WebCore::WMLInputElement::defaultEventHandler):
1002
1003 2009-09-03  Cameron McCormack  <cam@mcc.id.au>
1004
1005         Reviewed by Eric Seidel.
1006
1007         Make SVGStyleElement title/media/type setters do something
1008         https://bugs.webkit.org/show_bug.cgi?id=28828
1009
1010         Test: svg/dom/style-reflect.html
1011
1012         * svg/SVGStyleElement.cpp:
1013         (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
1014         (WebCore::SVGStyleElement::setType): Ditto.
1015         (WebCore::SVGStyleElement::setMedia): Ditto.
1016         (WebCore::SVGStyleElement::setTitle): Ditto.
1017
1018 2009-09-03  Ben Murdoch  <benm@google.com>
1019
1020         https://bugs.webkit.org/show_bug.cgi?id=28872
1021         
1022         Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
1023
1024         Test: storage/statement-error-callback.html
1025
1026         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1027         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
1028
1029 2009-09-03  Maxime Simon  <simon.maxime@gmail.com>
1030
1031         Reviewed by Eric Seidel.
1032
1033         [Haiku] Adding three font-specific files to WebCore:
1034         FontCustomPlatformData.cpp, FontCustomPlatformData.h,
1035         and FontPlatformData.h
1036         https://bugs.webkit.org/show_bug.cgi?id=28131
1037
1038         * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
1039         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1040         (WebCore::FontCustomPlatformData::fontPlatformData):
1041         (WebCore::createFontCustomPlatformData):
1042         * platform/graphics/haiku/FontCustomPlatformData.h: Added.
1043         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1044         * platform/graphics/haiku/FontPlatformData.h: Added.
1045         (WebCore::FontPlatformData::FontPlatformData):
1046         (WebCore::FontPlatformData::font):
1047         (WebCore::FontPlatformData::size):
1048         (WebCore::FontPlatformData::bold):
1049         (WebCore::FontPlatformData::oblique):
1050         (WebCore::FontPlatformData::hashTableDeletedFontValue):
1051
1052 2009-09-02  Brady Eidson  <beidson@apple.com>
1053
1054         Reviewed by Darin Adler.
1055
1056         More partial work towards "Page Cache should support pages with Frames"
1057         https://bugs.webkit.org/show_bug.cgi?id=13631
1058
1059         No new tests. (No change in behavior, current tests pass).
1060
1061         * loader/DocumentLoader.cpp:
1062         (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
1063
1064         * loader/FrameLoader.cpp:
1065         (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
1066           only unload, or unload and pagehide.
1067         (WebCore::FrameLoader::closeURL):
1068         (WebCore::FrameLoader::scheduleRedirection):
1069         (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
1070         (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
1071           where a page is added to the PageCache.
1072         * loader/FrameLoader.h:
1073
1074         * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
1075
1076 2009-09-02  Brady Eidson  <beidson@apple.com>
1077
1078         Reviewed by Darin Adler.
1079
1080         More partial work towards "Page Cache should support pages with Frames"
1081         https://bugs.webkit.org/show_bug.cgi?id=13631
1082
1083         - More CachedFrame destruction work.
1084         - Including related Frame and FrameLoader changes and cleanup.
1085
1086         No new tests. (No change in behavior, current tests pass).
1087
1088         * history/CachedFrame.cpp:
1089         (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
1090         (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
1091         (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
1092           the PageCache, do lightweight cleanup to:
1093           A - Prevent referring to a stale Page object.
1094           B - Prevent World Leaks of WebKit objects.
1095
1096         * loader/FrameLoader.cpp:
1097         (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
1098           in the PageCache. ASSERT that fact.
1099         (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
1100           explains it is not effective, and it'd be better to see the crash locally instead of downstream.
1101         (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
1102           referencing it.
1103         (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
1104         (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
1105         * loader/FrameLoader.h:
1106
1107         * page/Frame.cpp:
1108         (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
1109         (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
1110         * page/Frame.h:
1111
1112 2009-09-02  Jungshik Shin  <jshin@chromium.org>
1113
1114         Reviewed by Dimitri Glazkov
1115
1116         [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
1117         in Chromium. This is to fix a new file added in r28742 since the
1118         last patch for this issue.
1119
1120         https://bugs.webkit.org/show_bug.cgi?id=28410
1121
1122         No change in the test result.
1123
1124         * platform/graphics/chromium/FontLinux.cpp:
1125         (WebCore::TextRunWalker::getNormalizedTextRun):
1126
1127 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
1128
1129         Unreviewed, build fix.
1130
1131         [Chromium] Correct a typo to fix bustage, caused by r47991.
1132         https://bugs.webkit.org/show_bug.cgi?id=27933
1133
1134         * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
1135
1136 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
1137
1138         Unreviewed, build fix.
1139
1140         [Chromium] Add a missing include to fix bustage, caused by r47991.
1141         https://bugs.webkit.org/show_bug.cgi?id=27933
1142
1143         * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
1144
1145 2009-09-02  Jian Li  <jianli@chromium.org>
1146
1147         Reviewed by Dimitri Glazkov.
1148
1149         [Chromium] Implement file support for DragData.
1150         https://bugs.webkit.org/show_bug.cgi?id=28896
1151
1152         * platform/chromium/DragDataChromium.cpp:
1153         (WebCore::DragData::containsURL):
1154         (WebCore::DragData::asURL):
1155         (WebCore::DragData::containsCompatibleContent):
1156
1157 2009-09-02  Kevin Watters  <kevinwatters@gmail.com>
1158
1159         Reviewed by Kevin Ollivier.
1160
1161         Protect libcurl shared data with Mutex objects via curl_set_share_opt.
1162         https://bugs.webkit.org/show_bug.cgi?id=28920
1163
1164         * platform/network/curl/ResourceHandleManager.cpp:
1165         (WebCore::sharedResourceMutex):
1166         (WebCore::curl_lock_callback):
1167         (WebCore::curl_unlock_callback):
1168         (WebCore::ResourceHandleManager::ResourceHandleManager):
1169
1170 2009-09-02  Evan Stade  <estade@chromium.org>
1171
1172         Reviewed by Eric Seidel.
1173
1174         Expose functions to change the focus ring color for Linux Chromium
1175
1176         https://bugs.webkit.org/show_bug.cgi?id=28887
1177
1178         * rendering/RenderThemeChromiumLinux.cpp:
1179         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
1180         (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
1181         (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
1182         * rendering/RenderThemeChromiumLinux.h:
1183
1184 2009-09-02  Dirk Schulze  <krit@webkit.org>
1185
1186         Reviewed by Eric Seidel.
1187
1188         SVG Filter premultiplied color support for getImageDate/putImageData
1189         [https://bugs.webkit.org/show_bug.cgi?id=27933]
1190
1191         Patch to get premultiplied color support for Skia on getImageDate/putImageData.
1192
1193         * platform/graphics/skia/ImageBufferSkia.cpp:
1194         (WebCore::getImageData):
1195         (WebCore::putImageData):
1196
1197 2009-09-02  Brady Eidson  <beidson@apple.com>
1198
1199         Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
1200
1201         * history/CachedFrame.cpp:
1202         (WebCore::CachedFrameBase::restore):
1203         (WebCore::CachedFrame::open):
1204         * history/CachedFrame.h:
1205         * history/CachedPage.cpp:
1206         (WebCore::CachedPage::restore):
1207
1208 2009-09-02  Brady Eidson  <beidson@apple.com>
1209
1210         Reviewed by Darin Adler.
1211
1212         In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
1213         Removing them is a little trouble, but worth it going forward.
1214         The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
1215         was suggested by Darin Adler.
1216
1217         No new tests. (No change in behavior)
1218
1219         Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
1220         * history/CachedFrame.cpp:
1221         (WebCore::CachedFrameBase::CachedFrameBase):
1222         (WebCore::CachedFrameBase::~CachedFrameBase):
1223         (WebCore::CachedFrameBase::restore):
1224         (WebCore::CachedFrame::CachedFrame):
1225         (WebCore::CachedFrame::openInFrameLoader):
1226         * history/CachedFrame.h:
1227         (WebCore::CachedFrameBase::document):
1228         (WebCore::CachedFrameBase::view):
1229         (WebCore::CachedFrameBase::domWindow):
1230         (WebCore::CachedFrame::create):
1231         (WebCore::CachedFrame::documentLoader):
1232         (WebCore::CachedFrame::mousePressNode):
1233
1234         Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
1235         thing capable of interacting with FrameLoader::open(CachedFrameBase):
1236         * history/CachedPage.cpp:
1237         (WebCore::CachedPage::restore):
1238         * history/CachedPage.h:
1239         (WebCore::CachedPage::documentLoader):
1240
1241         Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
1242         * loader/FrameLoader.cpp:
1243         (WebCore::FrameLoader::open):
1244         * loader/FrameLoader.h:
1245
1246 2009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
1247
1248         Reviewed by Eric Seidel.
1249
1250         Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
1251         https://bugs.webkit.org/show_bug.cgi?id=24866
1252
1253         This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
1254         (a list to break out of is inside another list item).
1255
1256         When the empty list item appears at the end of another list item, WebKit breaks out of
1257         the outer list item, and adds new item below the outer list item.
1258         Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
1259
1260         Test: editing/execCommand/break-out-of-empty-list-item.html
1261
1262         * editing/CompositeEditCommand.cpp:
1263         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
1264
1265 2009-09-02  Brady Eidson  <beidson@apple.com>
1266
1267         Reviewed by Sam Weinig.
1268
1269         More partial work towards "Page Cache should support pages with Frames"
1270         https://bugs.webkit.org/show_bug.cgi?id=13631
1271
1272         This patch is primarily about the "CachedFrame tree" and making slightly different decisions
1273         based on whether a CachedFrame is the main frame or a subframe.
1274
1275         - Store whether a CachedFrame represents the main frame or a subframe.
1276         - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
1277           are reused and need to start new page loads with an empty frame tree.
1278         - Reattach the frame tree to the main frame when restoring it.
1279         - open() the cached subframes in their respective loaders when restoring.
1280         - Properly clear() and destroy() cached subframes.
1281         - When committing to a new page load, and after caching the previous page, only clear the
1282           FrameView for the main frame.
1283
1284         Note that all of above will eventually be necessary as I continue to land this work in pieces,
1285         but doesn't actually change any behavior right now because we still refuse to even *try* to
1286         cache pages with frames.
1287
1288         No new tests. No change in behavior, and current tests continue to pass.
1289
1290         * history/CachedFrame.cpp:
1291         (WebCore::CachedFrame::CachedFrame):
1292         (WebCore::CachedFrame::restore):
1293         (WebCore::CachedFrame::clear):
1294         (WebCore::CachedFrame::destroy):
1295         * history/CachedFrame.h:
1296         (WebCore::CachedFrame::isMainFrame):
1297
1298         * loader/FrameLoader.cpp:
1299         (WebCore::FrameLoader::clear):
1300         (WebCore::FrameLoader::open):
1301         * loader/FrameLoader.h:
1302
1303 2009-09-02  Brady Eidson  <beidson@apple.com>
1304
1305         No review, build fix.
1306
1307         http://trac.webkit.org/changeset/47976 broke the build.  
1308         Let's try compiling before we land things, shall we?
1309
1310         * platform/graphics/SimpleFontData.cpp:
1311         (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
1312
1313 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
1314
1315         waf build fixes for Windows/MSVC.
1316
1317         * wscript:
1318
1319 2009-09-02  Ben Murdoch  <benm@google.com>
1320
1321         Unreviewed build fix for Chromium.
1322
1323         Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
1324
1325         * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
1326
1327 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
1328
1329         waf build fix, don't define symbols we now grab from other sources.
1330
1331         * platform/wx/TemporaryLinkStubs.cpp:
1332
1333 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
1334
1335         Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
1336
1337         * plugins/PluginView.cpp:
1338         (WebCore::PluginView::stop):
1339         * plugins/PluginViewNone.cpp:
1340         (WebCore::PluginView::platformDestroy):
1341
1342 2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
1343
1344         Reviewed by Eric Seidel.
1345
1346         Fix the build failure of WebKit for Linux/Qt when WML is enabled
1347
1348         No test cases needed since this just fixes the build problem.
1349
1350         * wml/WMLElement.cpp:
1351         (WebCore::WMLElement::create):
1352         * wml/WMLTableElement.cpp:
1353         (WebCore::WMLTableElement::joinSuperflousColumns):
1354         (WebCore::WMLTableElement::padWithEmptyColumns):
1355
1356 2009-09-02 Yong Li <yong.li@torchmobile.com>
1357
1358         Reviewed by Adam Barth.
1359
1360         WINCE PORT: use shared buffer for custom font data
1361         https://bugs.webkit.org/show_bug.cgi?id=27734
1362
1363         Refactored by Joe Mason <joe.mason@torchmobile.com>
1364
1365         * loader/CachedFont.cpp:
1366         add WINCE to platforms using cached custom data
1367         * platform/graphics/opentype/OpenTypeUtilities.cpp:
1368         (WebCore::renameFont): implement for WinCE
1369         * platform/graphics/opentype/OpenTypeUtilities.h:
1370         build fixes
1371         * platform/graphics/wince/FontCustomPlatformData.cpp:
1372         (WebCore::setCustomFontCache): add accessor
1373         (WebCore::createFontCustomPlatformData): change param to SharedBuffer
1374         * platform/graphics/wince/FontCustomPlatformData.h:
1375         update function signatures 
1376  
1377 2009-09-02 Yong Li <yong.li@torchmobile.com>
1378
1379         Reviewed by Adam Barth.
1380
1381         WINCE PORT: font-related build fixes and minor bugfixes
1382         https://bugs.webkit.org/show_bug.cgi?id=27734
1383
1384         * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
1385         * platform/graphics/GlyphPageTreeNode.cpp:
1386         (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
1387         * platform/graphics/SimpleFontData.cpp:
1388         (WebCore::SimpleFontData::SimpleFontData): initialize member vars
1389         * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
1390
1391 2009-09-02  Jeremy Orlow  <jorlow@chromium.org>
1392
1393         Reviewed by Adam Barth.
1394
1395         Another pass at releasing the storage mutex.
1396         https://bugs.webkit.org/show_bug.cgi?id=28904
1397
1398         Another pass at releasing the storage mutex (when applicable) when we finish
1399         executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
1400         describes the required behavior.
1401
1402         As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
1403         the problem correctly.  First of all, I missed that events and timeouts go
1404         through a different call path.  Second of all, I didn't consider recursion
1405         correctly.  Third of all, my check to see if LocalStorage is alive actually
1406         instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
1407         it.  So I'm reverting that change completely and doing it more cleanly.
1408         Unfortunately, the solution isn't as portable (and thus I've left out the JSC
1409         implementation for now).
1410
1411         NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
1412         by Mads Ager and Mike Belshe and they seemed to think adding the checks were
1413         fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
1414         scenareos where you can have nested callbacks probably should have always been
1415         protected by a recursion guard.
1416
1417         Unfortunately, this can't be tested without a hook added to the layout test
1418         controllers since the lock is (by design) not supposed to be observable by
1419         JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
1420
1421         * bindings/js/ScriptController.cpp:
1422         (WebCore::ScriptController::evaluate): revert
1423         * bindings/v8/ScriptController.cpp:
1424         (WebCore::ScriptController::evaluate): revert
1425         * bindings/v8/V8Proxy.cpp:
1426         (WebCore::V8Proxy::runScript):
1427             Add releaseStorageMutex call.  A small amount of clean up.
1428         (WebCore::V8Proxy::callFunction):
1429             Add releaseStorageMutex call.  A small amount of clean up.
1430         (WebCore::V8Proxy::releaseStorageMutex):
1431             Check to see if localStorage has been instantiated.  If so, tell it to
1432             unlock all storage areas.
1433         * bindings/v8/V8Proxy.h:
1434         * page/PageGroup.h:
1435         (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
1436
1437 2009-09-02  Yong Li  <yong.li@torchmobile.com>
1438
1439         Reviewed by Adam Barth.
1440
1441         WINCE PORT: Implement ImageBuffer for WINCE
1442         Implement Image interface with a light class BufferedImage
1443         for rendering ImageBuffer
1444         https://bugs.webkit.org/show_bug.cgi?id=28167
1445
1446         * platform/graphics/wince/ImageBufferData.h: Added.
1447         * platform/graphics/wince/ImageBufferWince.cpp: Added.
1448
1449 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1450
1451         Reviewed by Eric Seidel.
1452
1453         Join the various PluginView destructors into one shared implementation
1454
1455         https://bugs.webkit.org/show_bug.cgi?id=27706
1456
1457         The Qt port used to delete the platform plugin widget as the last step.
1458         Now this is done before cleaning up the script objects and unloading the
1459         plugin package, similar to how the Win port does it.
1460
1461         * plugins/PluginView.cpp:
1462         * plugins/PluginViewNone.cpp:
1463         * plugins/gtk/PluginViewGtk.cpp:
1464         * plugins/mac/PluginViewMac.cpp:
1465         * plugins/qt/PluginViewQt.cpp:
1466         * plugins/win/PluginViewWin.cpp:
1467
1468 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1469
1470         Reviewed by Eric Seidel.
1471
1472         Share PluginView::init() between ports
1473
1474         https://bugs.webkit.org/show_bug.cgi?id=27706
1475
1476         The port-spesific bits are moved to platformStart(), which now returns
1477         a bool based on the success of the platformStart.
1478
1479         m_hasPendingGeometryChange is now initialized in the initializer list
1480         instead of in PluginViewQt's init()
1481
1482         PluginViewMac (currently used only by the Qt port) used to manually call
1483         stop() in the case where an unsupported drawing or event model was detected.
1484         This was wrong, as the m_status and m_isStarted fields should be used to
1485         guard against doing operations on a plugin in this intermediate state.
1486
1487         * plugins/PluginView.cpp:
1488         * plugins/PluginView.h:
1489         * plugins/PluginViewNone.cpp:
1490         * plugins/gtk/PluginViewGtk.cpp:
1491         * plugins/mac/PluginViewMac.cpp:
1492         * plugins/qt/PluginViewQt.cpp:
1493         * plugins/win/PluginViewWin.cpp:
1494
1495 2009-09-02  Ben Murdoch  <benm@google.com>
1496
1497         https://bugs.webkit.org/show_bug.cgi?id=28737
1498         
1499         Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
1500
1501         * bindings/js/JSSQLTransactionCustom.cpp:
1502         (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
1503         * bindings/v8/V8Binding.cpp:
1504         (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
1505         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1506         (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
1507
1508 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
1509
1510         Reviewed by Timothy Hatcher.
1511
1512         WebInspector: Migrate Databases tab to InjectedScript /
1513         serialized interaction.
1514
1515         https://bugs.webkit.org/show_bug.cgi?id=28873
1516
1517         * inspector/InspectorDOMAgent.cpp:
1518         (WebCore::InspectorDOMAgent::handleEvent):
1519         * inspector/front-end/Database.js:
1520         (WebInspector.Database.prototype.isDB):
1521         (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
1522         (WebInspector.Database.prototype.runWithTableNames):
1523         (WebInspector.Database.prototype.executeSql):
1524         (WebInspector.Database.prototype.executeSql.errorCallback):
1525         (WebInspector.Database.prototype.executeSql.queryTransaction):
1526         * inspector/front-end/DatabaseQueryView.js:
1527         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
1528         (WebInspector.DatabaseQueryView.prototype._queryFinished):
1529         * inspector/front-end/DatabaseTableView.js:
1530         (WebInspector.DatabaseTableView):
1531         * inspector/front-end/StoragePanel.js:
1532         (WebInspector.StoragePanel.prototype.selectDatabase):
1533         (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
1534         (WebInspector.StoragePanel.prototype.updateDatabaseTables):
1535         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
1536         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
1537
1538 2009-09-02  Pavel Feldman  <pfeldman@chromium.org>
1539
1540         Not reviewed (trivial followup fix). 
1541         
1542         Web Inspector: Trivial follow up fix to r47944.
1543
1544         https://bugs.webkit.org/show_bug.cgi?id=28800
1545
1546         * inspector/InspectorBackend.cpp:
1547         (WebCore::InspectorBackend::nodeForId):
1548
1549 2009-09-01  Brian Weinstein  <bweinstein@apple.com>
1550
1551         Reviewed by John Sullivan.
1552
1553         Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
1554
1555         * accessibility/AccessibilityRenderObject.cpp:
1556         (WebCore::AccessibilityRenderObject::isReadOnly):
1557
1558 2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
1559
1560         Reviewed by Timothy Hatcher.
1561
1562         https://bugs.webkit.org/show_bug.cgi?id=28047
1563         add utility method to enable logging messages for inspector development
1564
1565         manual test case added (see below)
1566
1567         * inspector/front-end/ConsoleView.js:
1568         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1569         (WebInspector.ConsoleMessage.prototype.toString):
1570         * inspector/front-end/inspector.css:
1571         * inspector/front-end/inspector.js:
1572         (WebInspector.log):
1573         * manual-tests/inspector/webinspector-log.html: Added.
1574         * page/Console.cpp:
1575         (WebCore::printMessageSourceAndLevelPrefix):
1576         * page/Console.h:
1577         (WebCore::):
1578
1579 2009-09-01  Alexey Proskuryakov  <ap@apple.com>
1580
1581         Reviewed by Darin Adler.
1582
1583         https://bugs.webkit.org/show_bug.cgi?id=21990
1584         When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
1585         is mistreated as Shift_JIS
1586
1587         <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
1588
1589         WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
1590         This didn't really match any browser, and did cause problems on some sites.
1591
1592         Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
1593         cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
1594         especially in comments. Also, some valid EUC-JP sequences are not known to it.
1595
1596         Some pages that are fixed by this change:
1597
1598         <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
1599         page has incorrect encoding in title, so no browser displays it 100% fine. We now match
1600         Firefox and IE.
1601
1602         <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
1603         in Safari. There is a stray byte in comments that was makes charset detector think it can't
1604         be EUC-JP.
1605
1606         <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
1607         Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
1608         fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
1609         Shift_JIS in normal HTML view though).
1610
1611         Test: fast/encoding/japanese-encoding-mix.html
1612
1613         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
1614         detection if there is no solid charset information yet.
1615
1616 2009-09-01  Jian Li  <jianli@chromium.org>
1617
1618         Reviewed by Dimitri Glazkov.
1619
1620         [V8] FileList cannot be accessed via index in Chromium.
1621         https://bugs.webkit.org/show_bug.cgi?id=28883
1622
1623         Tested by clipboard-file-access.html.
1624
1625         * WebCore.gypi:
1626         * bindings/v8/V8DOMWrapper.cpp:
1627         (WebCore::V8DOMWrapper::getTemplate):
1628         * bindings/v8/custom/V8CustomBinding.h:
1629         * bindings/v8/custom/V8FileListCustom.cpp: Added.
1630
1631 2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
1632
1633         Remove the workaround added in r47316.
1634
1635         Reviewed by Sam Weinig.
1636
1637         * accessibility/AXObjectCache.cpp:
1638         (WebCore::AXObjectCache::AXObjectCache):
1639
1640         * accessibility/AXObjectCache.h:
1641         Remove the Document argument to the AXObjectCache constructor and the
1642         m_document member variable, and replace the no-parameter
1643         handleFocusedUIElementChanged() with the two-parameter GTK function.
1644         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1645
1646         * accessibility/chromium/AXObjectCacheChromium.cpp:
1647         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1648
1649         * accessibility/gtk/AXObjectCacheAtk.cpp:
1650         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1651
1652         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1653         (fallbackObject):
1654         Don't pass a null Document when constructing the AXObjectCache.
1655
1656         * accessibility/mac/AXObjectCacheMac.mm:
1657         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1658
1659         * accessibility/win/AXObjectCacheWin.cpp:
1660         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1661         Get the document from the RenderObject; m_document was removed.
1662
1663         * dom/Document.cpp:
1664         (WebCore::Document::axObjectCache):
1665         Don't pass the Document when constructing the AXObjectCache.
1666         (WebCore::Document::setFocusedNode):
1667         Pass the old and new focused RenderObjects when calling
1668         handleFocusedUIElementChanged().
1669
1670 2009-09-01  Yury Semikhatsky  <yurys@chromium.org>
1671
1672         Reviewed by Timothy Hatcher.
1673
1674         Check that InspectorDOMAgent and InspectorFrontend are not null
1675         before accessing them in InspectorBackend. They may be null if
1676         InspectorController is closed before an asynchronous operation is
1677         started.
1678
1679         https://bugs.webkit.org/show_bug.cgi?id=28800
1680
1681         * inspector/InspectorBackend.cpp:
1682         (WebCore::InspectorBackend::getCookies):
1683         (WebCore::InspectorBackend::getChildNodes):
1684         (WebCore::InspectorBackend::setAttribute):
1685         (WebCore::InspectorBackend::removeAttribute):
1686         (WebCore::InspectorBackend::setTextNodeValue):
1687         (WebCore::InspectorBackend::highlight):
1688         (WebCore::InspectorBackend::nodeForId):
1689         (WebCore::InspectorBackend::pushNodePathToFrontend):
1690         (WebCore::InspectorBackend::addNodesToSearchResult):
1691         (WebCore::InspectorBackend::selectDatabase):
1692         (WebCore::InspectorBackend::selectDOMStorage):
1693         (WebCore::InspectorBackend::inspectorDOMAgent):
1694         (WebCore::InspectorBackend::inspectorFrontend):
1695         * inspector/InspectorBackend.h:
1696
1697 2009-09-01  Brady Eidson  <beidson@apple.com>
1698
1699         Reviewed by Sam Weinig.
1700
1701         Page Cache should support pages with frames
1702         https://bugs.webkit.org/show_bug.cgi?id=13631
1703
1704         Things learned in the full task that this patch addresses:
1705         - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
1706           needed to be managed separately.
1707         - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
1708           FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
1709           will be guided by the CachedFrames themselves.
1710
1711         No new tests. (No change in behavior, current layout tests pass)
1712         
1713         * history/CachedFrame.cpp:
1714         (WebCore::CachedFrame::CachedFrame):
1715         (WebCore::CachedFrame::~CachedFrame):
1716         (WebCore::CachedFrame::clear): Only clear pointers out.
1717         (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
1718           occur simply by navigating back to a page with a CachedFrame.
1719         * history/CachedFrame.h:
1720
1721         * history/CachedPage.cpp:
1722         (WebCore::CachedPage::~CachedPage):
1723         (WebCore::CachedPage::restore): Call clear() after restoring.
1724         (WebCore::CachedPage::clear):
1725         (WebCore::CachedPage::destroy):
1726         * history/CachedPage.h:
1727
1728         * history/PageCache.cpp:
1729         (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
1730           instead of clearing them.
1731
1732         * loader/FrameLoader.cpp:
1733         (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
1734         (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
1735         * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
1736           Even though CachedFrame::restore() isn't used for now, it will be soon.
1737
1738 2009-09-01  Andrei Popescu  <andreip@google.com>
1739
1740         Reviewed by David Levin.
1741
1742         Add a "lowMemoryNotification" method to the V8 ScriptController class.
1743         This is needed in order to allow the host application (Android Web browser in this case)
1744         to call the v8::V8::LowMemoryNotification() method added to V8 in
1745         http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
1746         
1747         https://bugs.webkit.org/show_bug.cgi?id=28776
1748
1749
1750         * bindings/v8/ScriptController.cpp:
1751         (WebCore::ScriptController::lowMemoryNotification):
1752         * bindings/v8/ScriptController.h:
1753
1754 2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
1755
1756         Reviewed by Adam Barth.
1757
1758         V8 Bindings for WebSocket API.
1759         https://bugs.webkit.org/show_bug.cgi?id=28844
1760
1761         * bindings/v8/DOMObjectsInclude.h:
1762         * bindings/v8/DerivedSourcesAllInOne.cpp:
1763         * bindings/v8/V8DOMWrapper.cpp:
1764         (WebCore::V8DOMWrapper::getTemplate):
1765         (WebCore::V8DOMWrapper::convertToV8Object):
1766         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1767         * bindings/v8/V8DOMWrapper.h:
1768         * bindings/v8/V8Index.cpp:
1769         * bindings/v8/V8Index.h:
1770         * bindings/v8/WorkerContextExecutionProxy.cpp:
1771         * bindings/v8/custom/V8CustomBinding.h:
1772         * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
1773
1774 2009-09-01  Peter Kasting  <pkasting@google.com>
1775
1776         Unreviewed (build fix).
1777
1778         Missed a "." -> "->" conversion.
1779
1780         * platform/graphics/qt/ImageDecoderQt.cpp:
1781         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
1782
1783 2009-09-01  Peter Kasting  <pkasting@google.com>
1784
1785         Unreviewed (build fix).
1786
1787         Try to fix Qt build, take 2.  The Qt code had what looks like a
1788         broken virtual function override.
1789
1790         * platform/graphics/qt/ImageDecoderQt.cpp:
1791         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
1792         (WebCore::ImageDecoderQt::setData):
1793         * platform/graphics/qt/ImageDecoderQt.h:
1794
1795 2009-09-01  Adam Barth  <abarth@webkit.org>
1796
1797         Reviewed by Sam Weinig.
1798
1799         Uninitialized variable in XSSAuditor
1800         https://bugs.webkit.org/show_bug.cgi?id=28874
1801
1802         One ought to initialize variables before use even when it doesn't
1803         matter.  No behavior change.
1804
1805         * page/XSSAuditor.h:
1806         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
1807
1808 2009-09-01  Peter Kasting  <pkasting@google.com>
1809
1810         Unreviewed (build fix).
1811
1812         Try to fix Qt build.
1813
1814         * platform/graphics/ImageSource.cpp:
1815
1816 2009-08-28  Peter Kasting  <pkasting@google.com>
1817
1818         Reviewed by Eric Seidel.
1819
1820         https://bugs.webkit.org/show_bug.cgi?id=27965
1821         Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
1822
1823         * WebCore.pro:
1824         * platform/graphics/ImageSource.cpp:
1825         (WebCore::ImageSource::frameHasAlphaAtIndex):
1826         * platform/graphics/qt/ImageSourceQt.cpp:
1827         (WebCore::ImageSource::createFrameAtIndex):
1828         (WebCore::ImageSource::frameHasAlphaAtIndex):
1829         (WebCore::ImageSource::frameIsCompleteAtIndex):
1830
1831 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
1832
1833         Reviewed by Timothy Hatcher.
1834
1835         WebInspector: Make InjectedScript self-contained (move necessary
1836         methods from utilities.js into InjectedScript).
1837
1838         https://bugs.webkit.org/show_bug.cgi?id=28871
1839
1840         * inspector/front-end/ElementsPanel.js:
1841         (WebInspector.ElementsPanel.prototype.generateStylesheet):
1842         * inspector/front-end/InjectedScript.js:
1843         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
1844         (InjectedScript._ensureCommandLineAPIInstalled):
1845         (InjectedScript.pushNodeToFrontend):
1846         (InjectedScript.createProxyObject):
1847         (Object.type):
1848         (Object.hasProperties):
1849         (Object.className):
1850         (String.prototype.escapeCharacters):
1851         * inspector/front-end/utilities.js:
1852
1853 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
1854
1855         Reviewed by Timothy Hatcher.
1856
1857         WebInspector: console log message repeat count double.
1858
1859         https://bugs.webkit.org/show_bug.cgi?id=28856
1860
1861         * inspector/front-end/InjectedScript.js:
1862         (InjectedScript._evaluateOn):
1863
1864 2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
1865
1866         Reviewed by Mark Rowe.
1867
1868         [Gtk] Fix DATALIST build
1869         https://bugs.webkit.org/show_bug.cgi?id=28826
1870
1871         Add ENABLE_DATALIST to FEATURE_DEFINES.
1872
1873         * GNUmakefile.am:
1874
1875 2009-09-01  Cameron McCormack  <cam@mcc.id.au>
1876
1877         Reviewed by Eric Seidel.
1878
1879         SVGSVGElement suspend methods argument/return types incorrect
1880         https://bugs.webkit.org/show_bug.cgi?id=28860
1881
1882         Also fix the style of the argument names.
1883
1884         * svg/SVGSVGElement.cpp:
1885         (WebCore::SVGSVGElement::suspendRedraw):
1886         (WebCore::SVGSVGElement::unsuspendRedraw):
1887         * svg/SVGSVGElement.h:
1888
1889 2009-09-01  Roland Steiner  <rolandsteiner@google.com>
1890
1891         Reviewed by Eric Seidel.
1892
1893         Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
1894         (https://bugs.webkit.org/show_bug.cgi?id=28808)
1895
1896         The bug fix adds an explicit check for the validity of the path when it is 
1897         transformed into local coordinates. 
1898         This was the most suitable place I could find that didn't cause an inordinate 
1899         amount of refactoring. Also, it seems pertinent and may also catch other cases 
1900         that are not limited to clipping paths.
1901
1902         TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
1903
1904         * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
1905         (WebCore::):
1906         * platform/graphics/skia/PlatformContextSkia.cpp:
1907         (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
1908
1909 2009-09-01  Yusuke Sato  <yusukes@chromium.org>
1910
1911         Reviewed by Eric Seidel.
1912
1913         [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
1914         https://bugs.webkit.org/show_bug.cgi?id=28742 
1915
1916         Normalize (NFC) a TextRun when the run contains combining diacritical marks
1917         so that Skia can pick a correct glyph without relying on GSUB table in a font.
1918         This change is for Chromium Linux.
1919
1920         * platform/graphics/chromium/FontLinux.cpp:
1921         (WebCore::TextRunWalker::getTextRun): Added.
1922         (WebCore::TextRunWalker::getNormalizedTextRun): Added.
1923
1924         This function is called when the run contains U+0300..U+036F and converts characters in
1925         the run to the combined form (NFC) using ICU.
1926
1927 2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
1928
1929         Reviewed by Dimitri Glazkov.
1930
1931         [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
1932         V8Proxy::createWrapperFromCache.
1933         https://bugs.webkit.org/show_bug.cgi?id=28848
1934
1935         * bindings/v8/V8DOMWrapper.cpp:
1936         (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
1937         function for document wrapping.
1938         (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
1939         wrapping a new node.
1940         * bindings/v8/V8DOMWrapper.h:
1941         (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
1942         path from V8DOMWrapper.cpp.
1943         * bindings/v8/V8Proxy.cpp:
1944         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
1945         * bindings/v8/V8Proxy.h:
1946         (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
1947         from V8Proxy.cpp.
1948
1949 2009-09-01  Eric Seidel  <eric@webkit.org>
1950
1951         No review, windows build fix only.  Clearly I should have read the patch closer. :(
1952
1953         Allow excluding certain plugins from loading
1954         https://bugs.webkit.org/show_bug.cgi?id=28677
1955
1956         * plugins/PluginDatabase.cpp:
1957         (WebCore::PluginDatabase::refresh):
1958
1959 2009-09-01  Alexander Pavlov  <apavlov@chromium.org>
1960
1961         Reviewed by Timothy Hatcher.
1962
1963         Implement conditional breakpoints in the Web Inspector backend
1964         and add frontend JavaScript stubs.
1965         https://bugs.webkit.org/show_bug.cgi?id=28846
1966
1967         * inspector/InspectorBackend.cpp:
1968         (WebCore::InspectorBackend::profiles):
1969         (WebCore::InspectorBackend::addBreakpoint):
1970         (WebCore::InspectorBackend::updateBreakpoint):
1971         * inspector/InspectorBackend.h:
1972         * inspector/InspectorBackend.idl:
1973         * inspector/JavaScriptDebugServer.cpp:
1974         (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
1975         (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
1976         (WebCore::JavaScriptDebugServer::addBreakpoint):
1977         (WebCore::JavaScriptDebugServer::breakpointInfo):
1978         (WebCore::JavaScriptDebugServer::updateBreakpoint):
1979         (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
1980         (WebCore::JavaScriptDebugServer::removeBreakpoint):
1981         (WebCore::JavaScriptDebugServer::hasBreakpoint):
1982         (WebCore::JavaScriptDebugServer::clearBreakpoints):
1983         * inspector/JavaScriptDebugServer.h:
1984         (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
1985         * inspector/front-end/Breakpoint.js:
1986         (WebInspector.Breakpoint):
1987         (WebInspector.Breakpoint.prototype.get id):
1988         (WebInspector.Breakpoint.prototype.get condition):
1989         (WebInspector.Breakpoint.prototype.set condition):
1990         * inspector/front-end/BreakpointsSidebarPane.js:
1991         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1992         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1993         * inspector/front-end/ScriptsPanel.js:
1994         (WebInspector.ScriptsPanel.prototype.addScript):
1995
1996 2009-09-01  Marius Renn  <damarvy@gmail.com>
1997
1998         Reviewed by Eric Seidel.
1999
2000         Added delegate to PluginDatabase to disable loading certain plugins.
2001         This is useful when you want to load from the standard plugin
2002         directory, but want to exclude certain plugins. Plugins may be
2003         excluded early on by name, so that no plugin code is executed (which
2004         may have caused a crash).
2005
2006         * plugins/PluginDatabase.cpp:
2007         (WebCore::PluginDatabase::PluginDatabase):
2008         (WebCore::PluginDatabase::refresh):
2009         * plugins/PluginDatabase.h:
2010         (WebCore::PluginDatabase::setClient):
2011         * plugins/PluginDatabaseClient.h: Added.
2012         (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
2013
2014 2009-08-31  Brady Eidson  <beidson@apple.com>
2015
2016         Rubberstamped by Sam Weinig
2017
2018         * WebCore.base.exp: Removed an unneeded symbol export.
2019
2020 2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2021
2022         Reviewed by Alexey Proskuryakov.
2023
2024         https://bugs.webkit.org/show_bug.cgi?id=28466
2025         When downloading a file, two GET requests are sent to the HTTP server
2026
2027         Can't think of a way to test this.
2028
2029         * loader/ResourceLoader.cpp:
2030         (WebCore::ResourceLoader::releaseResources): only nullify the
2031         handle's client when it is the ResourceLoader, to support the case
2032         in which a download API uses a different client
2033
2034 2009-08-31  Brian Weinstein  <bweinstein@apple.com>
2035
2036         Reviewed by Darin Adler.
2037
2038         Text Fields and Text Areas are reported as read-only by inspect32.exe.
2039         https://bugs.webkit.org/show_bug.cgi?id=28854
2040
2041         Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
2042         and texts areas are read-only.
2043
2044         * accessibility/AccessibilityRenderObject.cpp:
2045         (WebCore::AccessibilityRenderObject::isReadOnly):
2046         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
2047
2048 2009-08-31  Drew Wilson  <atwilson@google.com>
2049
2050         Reviewed by Alexey Proskuryakov.
2051
2052         fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
2053         https://bugs.webkit.org/show_bug.cgi?id=28795
2054
2055         Changed WorkerContext::close() to no longer stop the worker thread.
2056         It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
2057
2058         * workers/AbstractWorker.cpp:
2059         Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
2060         * workers/DefaultSharedWorkerRepository.cpp:
2061         (WebCore::SharedWorkerProxy::workerContextClosed):
2062         Now shuts down the worker thread when notified that the context is closed.
2063         (WebCore::SharedWorkerProxy::close):
2064         Now handles being invoked when the context is already in the process of shutting down.
2065         * workers/WorkerContext.cpp:
2066         (WebCore::WorkerContext::close):
2067         No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
2068         * workers/WorkerContext.h:
2069         (WebCore::WorkerContext::isClosing):
2070         isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
2071         * workers/WorkerMessagingProxy.cpp:
2072         (WebCore::WorkerExceptionTask::performTask):
2073         Error events should still be delivered even if the worker thread is closing.
2074         Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
2075         (WebCore::WorkerTerminateTask::create):
2076         New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
2077         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
2078         (WebCore::WorkerTerminateTask::performTask):
2079         (WebCore::WorkerMessagingProxy::workerContextClosed):
2080         Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
2081         * workers/WorkerMessagingProxy.h:
2082         WorkerMessagingProxy now overrides workerContextClosed().
2083         * workers/WorkerRunLoop.cpp:
2084         (WebCore::WorkerRunLoop::runInMode):
2085         Now drops tasks on the floor if the WorkerContext is closing.
2086
2087 2009-08-31  Ojan Vafai  <ojan@chromium.org>
2088
2089         Not reviewed (build fix)
2090
2091         Build fix for Chromium to match r49707.
2092
2093         * bindings/v8/ScriptCallFrame.cpp:
2094         (WebCore::ScriptCallFrame::ScriptCallFrame):
2095         * bindings/v8/ScriptSourceCode.h:
2096         (WebCore::ScriptSourceCode::ScriptSourceCode):
2097         * platform/KURLGoogle.cpp:
2098         (WebCore::KURL::KURL):
2099         (WebCore::blankURL):
2100
2101 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
2102
2103         Reviewed by Darin Adler.
2104
2105         https://bugs.webkit.org/show_bug.cgi?id=28858
2106         Element.baseURI parses xml:base attribute incorrectly
2107
2108         Test: fast/dom/base-attribute-parsing.xhtml
2109
2110         * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
2111         release mode).
2112
2113 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
2114
2115         Reverting http://trac.webkit.org/changeset/47904, because it caused
2116         layout test failure.
2117
2118         Test: fast/dom/Window/new-window-opener.html
2119
2120 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
2121
2122         Reviewed by Darin Adler.
2123
2124         https://bugs.webkit.org/show_bug.cgi?id=28852
2125         Rename KURL single argument constructor to avoid confusion
2126
2127         * platform/KURL.h: The constructor that used to be single argument should now be invoked
2128         as KURL(ParsedURLString, myString).
2129
2130         * WebCore.base.exp:
2131         * bindings/js/JSDOMWindowCustom.cpp:
2132         (WebCore::createWindow):
2133         * bindings/js/ScriptCallFrame.cpp:
2134         (WebCore::ScriptCallFrame::ScriptCallFrame):
2135         * bindings/v8/NPV8Object.cpp:
2136         (_NPN_EvaluateHelper):
2137         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2138         (WebCore::createWindow):
2139         * css/CSSCursorImageValue.cpp:
2140         (WebCore::isSVGCursorIdentifier):
2141         * css/CSSImageValue.cpp:
2142         (WebCore::CSSImageValue::cachedImage):
2143         * css/CSSImportRule.cpp:
2144         (WebCore::CSSImportRule::insertedIntoParent):
2145         * css/StyleBase.cpp:
2146         (WebCore::StyleBase::baseURL):
2147         * dom/Document.cpp:
2148         (WebCore::Document::initSecurityContext):
2149         * dom/Element.cpp:
2150         (WebCore::Element::baseURI):
2151         * editing/markup.cpp:
2152         (WebCore::completeURLs):
2153         * history/HistoryItem.cpp:
2154         (WebCore::HistoryItem::url):
2155         (WebCore::HistoryItem::originalURL):
2156         * inspector/InspectorController.cpp:
2157         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2158         * inspector/InspectorResource.cpp:
2159         (WebCore::InspectorResource::createCached):
2160         * loader/Cache.cpp:
2161         (WebCore::Cache::revalidateResource):
2162         * loader/DocLoader.cpp:
2163         (WebCore::DocLoader::requestResource):
2164         * loader/DocumentLoader.cpp:
2165         (WebCore::DocumentLoader::getSubresources):
2166         * loader/FrameLoader.cpp:
2167         (WebCore::FrameLoader::init):
2168         (WebCore::FrameLoader::iconURL):
2169         (WebCore::FrameLoader::scheduleLocationChange):
2170         (WebCore::FrameLoader::redirectionTimerFired):
2171         (WebCore::FrameLoader::loadURLIntoChildFrame):
2172         (WebCore::FrameLoader::startRedirectionTimer):
2173         * loader/appcache/ApplicationCache.cpp:
2174         (WebCore::ApplicationCache::resourceForURL):
2175         * loader/appcache/ApplicationCacheGroup.cpp:
2176         (WebCore::ApplicationCacheGroup::startLoadingEntry):
2177         (WebCore::ApplicationCacheGroup::addEntry):
2178         * loader/appcache/ApplicationCacheStorage.cpp:
2179         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
2180         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2181         (WebCore::ApplicationCacheStorage::loadCache):
2182         (WebCore::ApplicationCacheStorage::manifestURLs):
2183         * loader/archive/cf/LegacyWebArchive.cpp:
2184         (WebCore::LegacyWebArchive::createResource):
2185         (WebCore::LegacyWebArchive::create):
2186         * loader/loader.cpp:
2187         (WebCore::Loader::load):
2188         * notifications/NotificationCenter.h:
2189         (WebCore::NotificationCenter::createHTMLNotification):
2190         * platform/KURL.cpp:
2191         (WebCore::KURL::KURL):
2192         (WebCore::blankURL):
2193         * platform/KURLHash.h:
2194         * platform/chromium/ClipboardChromium.cpp:
2195         (WebCore::ClipboardChromium::setData):
2196         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2197         (WebCore::MediaPlayerPrivate::createQTMovie):
2198         * platform/network/cf/ResourceErrorCF.cpp:
2199         (WebCore::ResourceError::operator CFErrorRef):
2200         * platform/network/cf/ResourceRequest.h:
2201         (WebCore::ResourceRequest::ResourceRequest):
2202         * platform/network/chromium/ResourceRequest.h:
2203         (WebCore::ResourceRequest::ResourceRequest):
2204         * platform/network/curl/ResourceHandleManager.cpp:
2205         (WebCore::handleLocalReceiveResponse):
2206         (WebCore::headerCallback):
2207         * platform/network/curl/ResourceRequest.h:
2208         (WebCore::ResourceRequest::ResourceRequest):
2209         * platform/network/mac/ResourceErrorMac.mm:
2210         (WebCore::ResourceError::operator NSError*):
2211         * platform/network/mac/ResourceRequest.h:
2212         (WebCore::ResourceRequest::ResourceRequest):
2213         * platform/network/qt/ResourceRequest.h:
2214         (WebCore::ResourceRequest::ResourceRequest):
2215         * platform/network/soup/ResourceRequest.h:
2216         (WebCore::ResourceRequest::ResourceRequest):
2217         * platform/win/ClipboardWin.cpp:
2218         (WebCore::filesystemPathFromUrlOrTitle):
2219         (WebCore::ClipboardWin::setData):
2220         * svg/graphics/SVGImage.cpp:
2221         (WebCore::SVGImage::dataChanged):
2222         * xml/XSLImportRule.cpp:
2223         (WebCore::XSLImportRule::loadSheet):
2224         * xml/XSLTProcessor.cpp:
2225         (WebCore::docLoaderFunc):
2226         Adapt to the change everywhere the single argument constructor was used. I did a very
2227         cursory check of whether these locations were using this constructor properly, and didn't
2228         notice any obvious mistakes. The new explicit name will hopefully suggest checking this
2229         better when refactoring any such code.
2230
2231 2009-08-31  Beth Dakin  <bdakin@apple.com>
2232
2233         Reviewed by Darin Adler.
2234
2235         Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
2236         Backgrounds and Borders] Add support for 2-keyword values for 
2237         background-repeat
2238
2239         This patch allows background-repeat to take two values by making 
2240         background-repeat just like background-position internally. There 
2241         is a little extra legwork for background-repeat because the spec 
2242         indicates that its computed value should be equivalent to how it 
2243         was specified. I keep track of the specified thing by setting the 
2244         implicit flag whenever background-repeat is defined with only one 
2245         value (since internally, we now store this as 2 values.)
2246         
2247         Here we can't access the implicit flag, so for backwards-
2248         compatibility's sake, we always return one value when that makes 
2249         sense.
2250         * css/CSSComputedStyleDeclaration.cpp:
2251         (WebCore::fillRepeatToCSSValue):
2252         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2253
2254         Here we check for the implicit flag and return one value when it is 
2255         set.
2256         * css/CSSMutableStyleDeclaration.cpp:
2257         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2258         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
2259         (WebCore::CSSMutableStyleDeclaration::cssText):
2260
2261         Add support for CSSPropertyBackgroundRepeatX and 
2262         CSSPropertyBackgroundRepeatY
2263         * css/CSSParser.cpp:
2264         (WebCore::CSSParser::parseValue):
2265         (WebCore::CSSParser::parseFillShorthand):
2266         (WebCore::CSSParser::parseFillRepeat):
2267         (WebCore::CSSParser::parseFillProperty):
2268         * css/CSSParser.h:
2269
2270         Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
2271         need those parts of the EFillRepeat enum anymore.
2272         * css/CSSPrimitiveValueMappings.h:
2273         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2274         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
2275
2276         Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
2277         * css/CSSPropertyLonghand.cpp:
2278         (WebCore::initShorthandMap):
2279
2280         Add background-repeat-x and -y.
2281         * css/CSSPropertyNames.in:
2282
2283         Break repeat into x and y.
2284         * css/CSSStyleSelector.cpp:
2285         (WebCore::CSSStyleSelector::applyProperty):
2286         (WebCore::CSSStyleSelector::mapFillRepeatX):
2287         (WebCore::CSSStyleSelector::mapFillRepeatY):
2288         * css/CSSStyleSelector.h:
2289
2290         There is no more RepeatXFill. Instead, look for 
2291         fillLayer->repeatX() == RepeatFill
2292         * rendering/RenderBoxModelObject.cpp:
2293         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2294
2295         Break m_repeat into m_repeatX and m_repeatY
2296         * rendering/style/FillLayer.cpp:
2297         (WebCore::FillLayer::FillLayer):
2298         (WebCore::FillLayer::operator=):
2299         (WebCore::FillLayer::operator==):
2300         (WebCore::FillLayer::fillUnsetProperties):
2301         (WebCore::FillLayer::cullEmptyLayers):
2302         * rendering/style/FillLayer.h:
2303         (WebCore::FillLayer::repeatX):
2304         (WebCore::FillLayer::repeatY):
2305         (WebCore::FillLayer::isRepeatXSet):
2306         (WebCore::FillLayer::isRepeatYSet):
2307         (WebCore::FillLayer::setRepeatX):
2308         (WebCore::FillLayer::setRepeatY):
2309         (WebCore::FillLayer::clearRepeatX):
2310         (WebCore::FillLayer::clearRepeatY):
2311         (WebCore::FillLayer::initialFillRepeatX):
2312         (WebCore::FillLayer::initialFillRepeatY):
2313
2314         Again, break backgroundRepeat into backgroundRepeatX and 
2315         backgroundRepeatY
2316         * rendering/style/RenderStyle.h:
2317         (WebCore::InheritedFlags::backgroundRepeatX):
2318         (WebCore::InheritedFlags::backgroundRepeatY):
2319         (WebCore::InheritedFlags::maskRepeatX):
2320         (WebCore::InheritedFlags::maskRepeatY):
2321
2322         We don't need RepeatXFill or RepeatYFill. Now that we store two 
2323         values, they are represented by Repeat-NoRepeat and NoRepeat-
2324         Repeat, respectively.
2325         * rendering/style/RenderStyleConstants.h:
2326         (WebCore::):
2327
2328 2009-08-31  Simon Fraser  <simon.fraser@apple.com>
2329
2330         Reviewed by Dan Bernstein.
2331
2332         Compositing layer size needs to take into account software reflections on children.
2333         https://bugs.webkit.org/show_bug.cgi?id=28837
2334         
2335         When computing the bounds of a composited layer, take software-rendered
2336         reflections into account.
2337
2338         Test: compositing/reflections/reflection-in-composited.html
2339
2340         * rendering/RenderLayerCompositor.cpp:
2341         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2342
2343 2009-08-31  Mark Mentovai  <mark@chromium.org>
2344
2345         Reviewed by Dave Hyatt.
2346
2347         https://bugs.webkit.org/show_bug.cgi?id=28614
2348
2349         Perform a layout prior to checking whether the scrollbar modes are
2350         off, on, or automatic.  The modes may change during layout.
2351
2352         * platform/ScrollView.cpp:
2353         (WebCore::ScrollView::updateScrollbars):
2354
2355 2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2356
2357         Reviewed by Timothy Hatcher.
2358
2359         Inspector Request Headers Should Show Data Sent With Request
2360         https://bugs.webkit.org/show_bug.cgi?id=22920
2361
2362         Manual test added - see below.
2363
2364         * English.lproj/localizedStrings.js:
2365         * inspector/InspectorResource.cpp:
2366         (WebCore::InspectorResource::updateRequest):
2367         (WebCore::InspectorResource::createScriptObject):
2368         (WebCore::InspectorResource::updateScriptObject):
2369         * inspector/InspectorResource.h:
2370         * inspector/front-end/Resource.js:
2371         (WebInspector.Resource):
2372         * inspector/front-end/ResourceView.js:
2373         (WebInspector.ResourceView):
2374         (WebInspector.ResourceView.prototype._refreshURL):
2375         (WebInspector.ResourceView.prototype._refreshQueryString):
2376         (WebInspector.ResourceView.prototype._refreshFormData):
2377         (WebInspector.ResourceView.prototype._refreshRequestPayload):
2378         (WebInspector.ResourceView.prototype._refreshParms):
2379         (WebInspector.ResourceView.prototype._toggleURLdecoding):
2380         (WebInspector.ResourceView.prototype._getHeaderValue):
2381         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
2382         * inspector/front-end/inspector.css:
2383         * inspector/front-end/inspector.js:
2384         (WebInspector.addResource):
2385         (WebInspector.updateResource):
2386         * manual-tests/inspector/display-form-data.html: Added.
2387
2388 2009-08-31  Pavel Feldman  <pfeldman@chromium.org>
2389
2390         Reviewed by Timothy Hatcher.
2391
2392         WebInspector: pass call frames into the frontend as a part of
2393         pausedScript event.
2394
2395         https://bugs.webkit.org/show_bug.cgi?id=28847
2396
2397         * inspector/InspectorController.cpp:
2398         (WebCore::InspectorController::didPause):
2399         * inspector/InspectorFrontend.cpp:
2400         (WebCore::InspectorFrontend::pausedScript):
2401         * inspector/InspectorFrontend.h:
2402         * inspector/front-end/ScriptsPanel.js:
2403         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2404         * inspector/front-end/inspector.js:
2405         (WebInspector.pausedScript):
2406
2407 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2408
2409         Reviewed by Ariya Hidayat.
2410
2411         [Qt] Un-blacklist Silverlight on Mac
2412
2413         Does not seem to crash anymore, probably due to how we now handle
2414         drawing and event model handshake better.
2415
2416         * plugins/mac/PluginPackageMac.cpp:
2417         (WebCore::PluginPackage::isPluginBlacklisted):
2418
2419 2009-08-31  Cameron McCormack  <cam@mcc.id.au>
2420
2421         Reviewed by Eric Seidel.
2422
2423         https://bugs.webkit.org/show_bug.cgi?id=28827
2424         SVGSVGElement.unsuspendRedraw() shouldn't throw
2425
2426         * svg/SVGSVGElement.cpp:
2427         (WebCore::SVGSVGElement::unsuspendRedraw):
2428         * svg/SVGSVGElement.h:
2429         * svg/SVGSVGElement.idl:
2430
2431 2009-08-31  Kent Tamura  <tkent@chromium.org>
2432
2433         Reviewed by Eric Seidel.
2434
2435         - Change the reutrn type of HTMLInputElement::list so that it
2436           conforms to the standard.
2437         - Add HTMLInputElement::dataList()
2438         https://bugs.webkit.org/show_bug.cgi?id=28769
2439
2440
2441         * html/HTMLInputElement.cpp:
2442         (WebCore::HTMLInputElement::list):
2443         (WebCore::HTMLInputElement::dataList):
2444         (WebCore::HTMLInputElement::selectedOption):
2445         * html/HTMLInputElement.h:
2446         * html/HTMLInputElement.idl:
2447
2448 2009-08-31  Kwang Yul Seo  <skyul@company100.net>
2449
2450         Reviewed by Eric Seidel.
2451
2452         Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
2453         https://bugs.webkit.org/show_bug.cgi?id=28802
2454
2455         Remove ASSERT because the frame could be null if the
2456         ResourceHandle is not associated with any frame, e.g. if we are
2457         downloading a file.
2458         If the frame is not null but the page is null this must be an
2459         attempted load from an onUnload handler, so let's just block it.
2460
2461         * platform/network/curl/ResourceHandleCurl.cpp:
2462         (WebCore::ResourceHandle::start):
2463
2464 2009-08-31  Maxime Simon  <simon.maxime@gmail.com>
2465
2466         Reviewed by Eric Seidel.
2467
2468         Build fix for platforms which don't enable DOM_STORAGE.
2469         https://bugs.webkit.org/show_bug.cgi?id=28834
2470
2471         * bindings/js/ScriptController.cpp:
2472         (WebCore::ScriptController::evaluate):
2473         * bindings/v8/ScriptController.cpp:
2474         (WebCore::ScriptController::evaluate):
2475
2476 2009-08-29  Adele Peterson  <adele@apple.com>
2477
2478         Reviewed by Dan Bernstein.
2479
2480         Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
2481         Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
2482
2483         Test: accessibility/aria-activedescendant-crash.html
2484
2485         * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
2486
2487 2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
2488
2489         Reviewed by Oliver Hunt.
2490
2491         Gtk Build broken for OSX Quartz
2492         https://bugs.webkit.org/show_bug.cgi?id=28727
2493
2494         Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
2495         port in Mac and Unix/Linux.
2496
2497         * plugins/PluginView.cpp:
2498         (WebCore::PluginView::PluginView):
2499         * plugins/PluginView.h:
2500         * plugins/gtk/PluginViewGtk.cpp:
2501         (WebCore::PluginView::setNPWindowIfNeeded):
2502         (WebCore::PluginView::getValueStatic):
2503         (WebCore::PluginView::getValue):
2504         (WebCore::PluginView::init):
2505
2506 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
2507
2508         Reviewed by Dan Bernstein.
2509
2510         Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
2511         https://bugs.webkit.org/show_bug.cgi?id=28754
2512         
2513         For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
2514         ancestor, since the layer x and y are relative to that ancestor. However, this could
2515         skip over the ancestorLayer, thus giving the wrong result.
2516         
2517         Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
2518         and checking for ancestorLayer along the way. If found, compute offset of both to
2519         the enclosingPositionedAncestor() and subtract.
2520         
2521         This also fixes a positioning bug with abs. positioned elements in reflections,
2522         so there is a new reflection test with a pixel result.
2523
2524         Tests: compositing/geometry/abs-position-inside-opacity.html
2525                fast/reflections/abs-position-in-reflection.html
2526
2527         * rendering/RenderLayer.cpp:
2528         (WebCore::isPositionedContainer):
2529         (WebCore::RenderLayer::enclosingPositionedAncestor):
2530         (WebCore::RenderLayer::enclosingTransformedAncestor):
2531         (WebCore::RenderLayer::convertToLayerCoords):
2532
2533 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
2534
2535         Reviewed by Mark Rowe
2536
2537         Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
2538         https://bugs.webkit.org/show_bug.cgi?id=27727
2539
2540         When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
2541         CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
2542         because there is not a unique enum value for WebkitCSSTransformValue.
2543
2544         * bindings/objc/DOMCSS.mm:
2545         (kitClass):
2546
2547 2009-08-28  Peter Kasting  <pkasting@google.com>
2548
2549         Reviewed by Jan Michael Alonzo.
2550
2551         https://bugs.webkit.org/show_bug.cgi?id=28308
2552         Fix some warnings introduced by r47381.
2553
2554         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2555         (WebCore::convertCMYKToRGBA):
2556         (WebCore::convertRGBToRGBA):
2557
2558 2009-08-28  Ada Chan  <adachan@apple.com>
2559
2560         Reviewed by Adam Roben.
2561
2562         https://bugs.webkit.org/show_bug.cgi?id=21442
2563         Make sure filesystemPathFromUrlOrTitle() returns a string with length
2564         <= MAX_PATH - 1.
2565
2566         * platform/win/ClipboardWin.cpp:
2567         (WebCore::filesystemPathFromUrlOrTitle):
2568
2569 2009-08-28  Dumitru Daniliuc  <dumi@chromium.org>
2570
2571         Reviewed by Dimitri Glazkov.
2572
2573         Adding Chromium's VFS for Linux and Mac.
2574
2575         https://bugs.webkit.org/show_bug.cgi?id=28750
2576
2577         * WebCore.gypi:
2578         * platform/chromium/ChromiumBridge.h:
2579         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2580         (WebCore::SQLiteFileSystem::openDatabase):
2581         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
2582         * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
2583         * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
2584         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
2585         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2586
2587 2009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>
2588
2589         Reviewed by Dimitri Glazkov.
2590
2591         [V8] Made bindings use Node::setOnEvent functions for Node descendants
2592         instead of Node::setAttributeEventListener.
2593
2594         Node::setAttributeEventListener is an internal function and
2595         doesn't do the forwarding to DOM window that is required for some
2596         HTML elements.
2597         https://bugs.webkit.org/show_bug.cgi?id=28709
2598
2599         Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
2600
2601         * bindings/scripts/CodeGeneratorV8.pm:
2602         Now generates EventListener accessors for Node descendants instead
2603         of using custom callbacks.
2604         * bindings/v8/V8DOMWrapper.cpp:
2605         (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
2606         * bindings/v8/V8DOMWrapper.h:
2607         (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
2608         signature.
2609         * bindings/v8/V8Utilities.cpp:
2610         (WebCore::createHiddenDependency):
2611         (WebCore::removeHiddenDependency):
2612         Changed signature to accept Handle instead of Local.
2613         * bindings/v8/V8Utilities.h:
2614         * bindings/v8/custom/V8CustomBinding.h:
2615         * bindings/v8/custom/V8NodeCustom.cpp:
2616         (WebCore::CALLBACK_FUNC_DECL):
2617         Removed custom callbacks for EventListener accessors.
2618
2619 2009-08-28  Ben Murdoch  <benm@google.com>
2620
2621         https://bugs.webkit.org/show_bug.cgi?id=28803
2622         
2623         Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
2624
2625         * bindings/v8/custom/V8CustomVoidCallback.cpp:
2626         (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
2627
2628 2009-08-28  Peter Kasting  <pkasting@google.com>
2629
2630         Not reviewed (build fix).
2631
2632         * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
2633         (WebCore::ImageDecoder::create):
2634         (WebCore::ImageDecoderQt::ImageDecoderQt):
2635         * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
2636
2637 2009-08-28  Peter Kasting  <pkasting@google.com>
2638
2639         Reviewed by Eric Seidel.
2640
2641         https://bugs.webkit.org/show_bug.cgi?id=27965
2642         Move ImageDecoder creation function to a factory function on
2643         ImageDecoder.  This is arguably where it makes the most sense anyway,
2644         and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
2645         function.
2646
2647         * platform/graphics/ImageSource.cpp:
2648         * platform/graphics/qt/ImageDecoderQt.cpp:
2649         (WebCore::ImageDecoder::create):
2650         * platform/graphics/qt/ImageDecoderQt.h:
2651         * platform/graphics/qt/ImageSourceQt.cpp:
2652         (WebCore::ImageSource::setData):
2653         * platform/image-decoders/ImageDecoder.cpp:
2654         * platform/image-decoders/ImageDecoder.h:
2655
2656 2009-08-28  Peter Kasting  <pkasting@google.com>
2657
2658         Reviewed by Eric Seidel.
2659
2660         https://bugs.webkit.org/show_bug.cgi?id=28785
2661         Combine duplicated code from ImageDecoder*.cpp into the main
2662         ImageDecoder.cpp.
2663
2664         * platform/image-decoders/ImageDecoder.cpp:
2665         (WebCore::RGBA32Buffer::RGBA32Buffer):
2666         (WebCore::RGBA32Buffer::clear):
2667         (WebCore::RGBA32Buffer::zeroFill):
2668         (WebCore::RGBA32Buffer::copyBitmapData):
2669         (WebCore::RGBA32Buffer::setSize):
2670         (WebCore::RGBA32Buffer::hasAlpha):
2671         (WebCore::RGBA32Buffer::setHasAlpha):
2672         (WebCore::RGBA32Buffer::setStatus):
2673         (WebCore::RGBA32Buffer::operator=):
2674         (WebCore::RGBA32Buffer::width):
2675         (WebCore::RGBA32Buffer::height):
2676         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
2677         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
2678         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2679
2680 2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2681
2682         Reviewed by Holger Freyther.
2683
2684         https://bugs.webkit.org/show_bug.cgi?id=25889
2685         [GTK] scrollbar policy for main frame is not implementable
2686
2687         Override setScrollbarModes to correctly forward scrollbar modes
2688         policy changes to client code, via a new platform-specific method,
2689         scrollbarsPolicyDidChange.
2690
2691         * page/ChromeClient.h:
2692         (WebCore::ChromeClient::scrollbarsPolicyDidChange):
2693         * platform/ScrollView.cpp:
2694         (WebCore::ScrollView::createScrollbar):
2695         * platform/ScrollView.h:
2696         * platform/gtk/ScrollViewGtk.cpp:
2697         (WebCore::ScrollView::setScrollbarModes):
2698
2699 2009-08-28  Cédric Luthi <cedric.luthi@gmail.com>
2700
2701         Reviewed by Tor Arne Vestbø
2702
2703         [Qt/Mac] Un-blacklist the QuickTime plugin
2704
2705         https://bugs.webkit.org/show_bug.cgi?id=28768
2706
2707         Now that the drawing model is properly negotiated, there is no need the
2708         blacklist the QuickTime plugin anymore.
2709
2710         This revealed a bug in PluginView::performRequest: it should not initiate a
2711         request if the plugin has been stopped, which is what happens when a plugin
2712         only supports the QuickDraw drawing model.
2713
2714         * plugins/PluginView.cpp:
2715         * plugins/mac/PluginPackageMac.cpp:
2716
2717 2009-08-28  Yury Semikhatsky  <yurys@chromium.org>
2718
2719         Reviewed by Timothy Hatcher.
2720
2721         Set DOM agent document to 0 in InspectorController::close to
2722         make DOM agent remove DOM listeners from the inspected document.
2723
2724         Replace windowVisible checks with m_frontend checks to as inspector
2725         window lives in a different process in Chromium while frontend proxy
2726         is in the inspected page process.
2727
2728         https://bugs.webkit.org/show_bug.cgi?id=28800
2729
2730         * inspector/InspectorController.cpp:
2731         (WebCore::InspectorController::inspect):
2732         (WebCore::InspectorController::addConsoleMessage):
2733         (WebCore::InspectorController::close):
2734         (WebCore::InspectorController::pruneResources):
2735         (WebCore::InspectorController::didCommitLoad):
2736         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2737         (WebCore::InspectorController::identifierForInitialRequest):
2738         (WebCore::InspectorController::willSendRequest):
2739         (WebCore::InspectorController::didReceiveResponse):
2740         (WebCore::InspectorController::didReceiveContentLength):
2741         (WebCore::InspectorController::didFinishLoading):
2742         (WebCore::InspectorController::didFailLoading):
2743         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2744         (WebCore::InspectorController::scriptImported):
2745         (WebCore::InspectorController::didOpenDatabase):
2746         (WebCore::InspectorController::didUseDOMStorage):
2747         (WebCore::InspectorController::addProfile):
2748         * inspector/InspectorController.h:
2749
2750 2009-08-28  Mikhail Naganov  <mnaganov@chromium.org>
2751
2752         Reviewed by Timothy Hatcher.
2753
2754         Remove dependency of SummaryBar on WebInspector.resourceCategories.
2755
2756         https://bugs.webkit.org/show_bug.cgi?id=28801
2757
2758         * inspector/front-end/ResourcesPanel.js:
2759         (WebInspector.ResourcesPanel):
2760         (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
2761         * inspector/front-end/SummaryBar.js:
2762         (WebInspector.SummaryBar):
2763         (WebInspector.SummaryBar.prototype.update):
2764
2765 2009-08-28  Pavel Feldman  <pfeldman@chromium.org>
2766
2767         Not reviewed (patching in l18n change that was missing due to
2768         the git binary diff format).
2769
2770         https://bugs.webkit.org/show_bug.cgi?id=28429
2771
2772         * English.lproj/localizedStrings.js:
2773
2774 2009-08-28  Adam Barth  <abarth@webkit.org>
2775
2776         Reviewed by Eric Seidel.
2777
2778         Make XSSAuditor go fast
2779         https://bugs.webkit.org/show_bug.cgi?id=28667
2780
2781         Make the XSSAuditor go faster by implementing two optimizations:
2782
2783         1) We avoid canonicalizing scripts that are larger than the page's URL.
2784            This saves a bunch of time for large inline scripts.
2785
2786         2) We memoize canonicalizing the page's URL because it's silly to
2787            canonicalize repeated for each inline event listener.
2788
2789         These optimizations have a measurable affect on the intl1 page cycler.
2790
2791         No behavior change.
2792
2793         * page/XSSAuditor.cpp:
2794         (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
2795         (WebCore::XSSAuditor::canEvaluate):
2796         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2797         (WebCore::XSSAuditor::canCreateInlineEventListener):
2798         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
2799         (WebCore::XSSAuditor::canLoadObject):
2800         (WebCore::XSSAuditor::canSetBaseElementURL):
2801         (WebCore::XSSAuditor::decodeURL):
2802         (WebCore::XSSAuditor::findInRequest):
2803         * page/XSSAuditor.h:
2804
2805 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
2806
2807         Unreviewed, build fix.
2808
2809         Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
2810         fast/canvas/change-context.html. And it's alright to reach it.
2811
2812         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2813         (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
2814
2815 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
2816
2817         Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840
2818
2819         Peter's change forgot one m_decoder->
2820
2821         * platform/graphics/ImageSource.cpp:
2822         (WebCore::ImageSource::frameSizeAtIndex):
2823
2824 2009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
2825
2826         Unreviewed, build fix.
2827
2828         [V8] Add NULL-check, since the context ain't changeable no more, and
2829         thus getContext could return 0.
2830
2831         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2832         (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
2833
2834 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
2835
2836         Reviewed by Eric Seidel.
2837
2838         dataTransfer.types() should include type "Files" when files are present in the clipboard.
2839         https://bugs.webkit.org/show_bug.cgi?id=28780
2840
2841         Add dataTransfer type "Files" to the chromium port.  Add eseidel's
2842         patch for same for the mac port.
2843
2844         * platform/chromium/ClipboardChromium.cpp:
2845
2846 2009-08-27  Chris Marrin  <cmarrin@apple.com>
2847
2848         Reviewed by Simon Fraser.
2849
2850         Removed GL_ from all constants, and gl prefix from all calls
2851         https://bugs.webkit.org/show_bug.cgi?id=28773
2852
2853         This was done for the external API in CanvasRenderingContext3D and
2854         the internal API in GraphicsContext3D.
2855
2856         * html/canvas/CanvasRenderingContext3D.cpp:
2857         * html/canvas/CanvasRenderingContext3D.h:
2858         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
2859         * html/canvas/CanvasRenderingContext3D.idl:
2860         * platform/graphics/GraphicsContext3D.h:
2861         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2862
2863 2009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
2864
2865         Qt and Gtk build fixes. Not reviewed.
2866
2867         Add CanvasRenderingContext3D.idl to the build scripts.
2868
2869         * GNUmakefile.am:
2870         * WebCore.pro:
2871
2872 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
2873
2874         Reviewed by Darin Fisher.
2875
2876         Release the storage mutex whenever leaving JavaScript execution.
2877         https://bugs.webkit.org/show_bug.cgi?id=28789
2878
2879         http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
2880         required behavior.  After we leave JavaScript, we must be sure the storage
2881         mutex has been released.  At the end of evaluate(), if localStorage has been
2882         instantiated, tell it to release any locks that may be applicable.
2883
2884         * bindings/js/ScriptController.cpp:
2885         (WebCore::ScriptController::evaluate):
2886         * bindings/v8/ScriptController.cpp:
2887         (WebCore::ScriptController::evaluate):
2888
2889 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
2890
2891         Reviewed by Oliver Hunt.
2892
2893         https://bugs.webkit.org/show_bug.cgi?id=28753
2894         <rdar://problem/7173448> Excessive number of threads (and a crash)
2895
2896         Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
2897         - when resolver is idle, the first few requests are sent immediately (they may or may not
2898         hit the wire);
2899         - if there are a few requests in flight already, coalesce all requests for one second;
2900         - to avoid pathological cases with lots of links to different sites on a page, only ask
2901         CFHost about a handful of names (dropping the rest).
2902
2903         Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
2904         link, and these tend to have identical host name.
2905
2906         * platform/network/cf/DNSCFNet.cpp:
2907         (WebCore::DNSResolveQueue::DNSResolveQueue):
2908         (WebCore::DNSResolveQueue::shared):
2909         (WebCore::DNSResolveQueue::add):
2910         (WebCore::DNSResolveQueue::decrementRequestCount):
2911         (WebCore::DNSResolveQueue::fired):
2912         (WebCore::clientCallback):
2913         (WebCore::DNSResolveQueue::resolve):
2914         (WebCore::prefetchDNS):
2915
2916 2009-08-27  Chris Marrin  <cmarrin@apple.com>
2917
2918         Reviewed by Simon Fraser.
2919
2920         Final patch for Canvas 3D support
2921         https://bugs.webkit.org/show_bug.cgi?id=28018
2922
2923         This hooks everything up and provides a working implementation of
2924         Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
2925         passing the opaque context and texture pointers so a Canvas3DLayer can be
2926         created (more on that later). It also plumbs changes to the 3D canvas so
2927         that Canvas3DLayer can recomposite the results.
2928         
2929         A 3D Canvas element needs a RenderLayer and compositing layer to render.
2930         This is because it renders to an off-screen texture in the GPU and then
2931         hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
2932         render that texture as a 3D quad. This keeps everything in GPU memory to 
2933         maximize performance. When a CanvasRenderingContext3D is created it 
2934         forces a style recalc which creates the RenderLayer and compositing 
2935         layer if needed. 
2936         
2937         I repurposed an existing flag which was put in place for animation to accomplish 
2938         this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
2939         AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
2940         to do a complete style recalc, even though the style itself has not really
2941         changed.
2942         
2943         This patch also fixes a couple of bugs discovered when testing with 3d-canvas
2944         turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
2945         This is needed when making a JS wrapper for the object so the prototype 
2946         property can be set.
2947
2948         Test: fast/canvas/change-context.html
2949
2950         * WebCore.xcodeproj/project.pbxproj:
2951         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
2952         (WebCore::JSCanvasRenderingContext3D::glDrawElements):
2953         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2954         (WebCore::toJS):
2955         * dom/Element.cpp:
2956         (WebCore::Element::recalcStyle):
2957         * dom/Node.cpp:
2958         (WebCore::Node::setNeedsStyleRecalc):
2959         * dom/Node.h:
2960         (WebCore::):
2961         * html/HTMLCanvasElement.cpp:
2962         (WebCore::HTMLCanvasElement::getContext):
2963         (WebCore::HTMLCanvasElement::is3D):
2964         * html/HTMLCanvasElement.h:
2965         * html/canvas/CanvasBuffer.cpp:
2966         (WebCore::CanvasBuffer::create):
2967         (WebCore::CanvasBuffer::CanvasBuffer):
2968         (WebCore::CanvasBuffer::_deleteObject):
2969         * html/canvas/CanvasBuffer.h:
2970         * html/canvas/CanvasFramebuffer.cpp:
2971         (WebCore::CanvasFramebuffer::create):
2972         (WebCore::CanvasFramebuffer::CanvasFramebuffer):
2973         (WebCore::CanvasFramebuffer::_deleteObject):
2974         * html/canvas/CanvasFramebuffer.h:
2975         * html/canvas/CanvasObject.cpp:
2976         (WebCore::CanvasObject::CanvasObject):
2977         (WebCore::CanvasObject::~CanvasObject):
2978         (WebCore::CanvasObject::deleteObject):
2979         * html/canvas/CanvasObject.h:
2980         (WebCore::CanvasObject::context):
2981         * html/canvas/CanvasProgram.cpp:
2982         (WebCore::CanvasProgram::create):
2983         (WebCore::CanvasProgram::CanvasProgram):
2984         (WebCore::CanvasProgram::_deleteObject):
2985         * html/canvas/CanvasProgram.h:
2986         * html/canvas/CanvasRenderbuffer.cpp:
2987         (WebCore::CanvasRenderbuffer::create):
2988         (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
2989         (WebCore::CanvasRenderbuffer::_deleteObject):
2990         * html/canvas/CanvasRenderbuffer.h:
2991         * html/canvas/CanvasRenderingContext3D.cpp:
2992         (WebCore::CanvasRenderingContext3D::createBuffer):
2993         (WebCore::CanvasRenderingContext3D::createFramebuffer):
2994         (WebCore::CanvasRenderingContext3D::createTexture):
2995         (WebCore::CanvasRenderingContext3D::createProgram):
2996         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
2997         (WebCore::CanvasRenderingContext3D::createShader):
2998         * html/canvas/CanvasRenderingContext3D.h:
2999         (WebCore::CanvasRenderingContext3D::graphicsContext3D):
3000         * html/canvas/CanvasShader.cpp:
3001         (WebCore::CanvasShader::create):
3002         (WebCore::CanvasShader::CanvasShader):
3003         (WebCore::CanvasShader::_deleteObject):
3004         * html/canvas/CanvasShader.h:
3005         * html/canvas/CanvasTexture.cpp:
3006         (WebCore::CanvasTexture::create):
3007         (WebCore::CanvasTexture::CanvasTexture):
3008         (WebCore::CanvasTexture::_deleteObject):
3009         * html/canvas/CanvasTexture.h:
3010         * page/DOMWindow.idl:
3011         * page/animation/AnimationBase.cpp:
3012         (WebCore::AnimationBase::setNeedsStyleRecalc):
3013         * page/animation/AnimationController.cpp:
3014         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3015         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
3016         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
3017         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
3018         (WebCore::AnimationController::cancelAnimations):
3019         * platform/graphics/GraphicsContext3D.h:
3020         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
3021         (WebCore::GraphicsContext3D::platformTexture):
3022         * platform/graphics/GraphicsLayer.h:
3023         (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
3024         (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
3025         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3026         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3027         (WebCore::GraphicsContext3D::reshape):
3028         * platform/graphics/mac/GraphicsLayerCA.h:
3029         (WebCore::GraphicsLayerCA::):
3030         * platform/graphics/mac/GraphicsLayerCA.mm:
3031         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
3032         (WebCore::GraphicsLayerCA::commitLayerChanges):
3033         (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
3034         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
3035         (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
3036         * rendering/RenderHTMLCanvas.cpp:
3037         (WebCore::RenderHTMLCanvas::requiresLayer):
3038         * rendering/RenderHTMLCanvas.h:
3039         (WebCore::RenderHTMLCanvas::isCanvas):
3040         * rendering/RenderLayerBacking.cpp:
3041         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3042         (WebCore::RenderLayerBacking::canUseDirectCompositing):
3043         (WebCore::RenderLayerBacking::rendererContentChanged):
3044         * rendering/RenderLayerCompositor.cpp:
3045         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3046         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
3047         * rendering/RenderLayerCompositor.h:
3048         * rendering/RenderObject.h:
3049         (WebCore::RenderObject::isCanvas):
3050
3051 2009-08-27  Peter Kasting  <pkasting@google.com>
3052
3053         Reviewed by Eric Seidel.
3054
3055         https://bugs.webkit.org/show_bug.cgi?id=28751
3056         Clean up ImageDecoder*.cpp a bit.
3057
3058         * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
3059           order as in the header file.  Also, since there's already an anonymous
3060           namespace in this file, use it to enclose the local helper functions.
3061         (WebCore::):
3062         (WebCore::ImageDecoder::upperBoundScaledX):
3063         (WebCore::ImageDecoder::lowerBoundScaledX):
3064         (WebCore::ImageDecoder::scaledY):
3065         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
3066         (WebCore::RGBA32Buffer::width): Style fix.
3067         (WebCore::RGBA32Buffer::height): Style fix.
3068         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
3069         (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
3070         (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
3071         (WebCore::RGBA32Buffer::operator=): Simplify.
3072         * platform/image-decoders/wx/ImageDecoderWx.cpp:
3073         (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related.  Use size_t for iterating over elements of a Vector.
3074         (WebCore::RGBA32Buffer::width): Style fix.
3075         (WebCore::RGBA32Buffer::height): Style fix.
3076
3077 2009-08-27  Peter Kasting  <pkasting@google.com>
3078
3079         Reviewed by Eric Seidel.
3080
3081         https://bugs.webkit.org/show_bug.cgi?id=28751
3082         Clean up ImageSource.* in preparation for more fixes on bug 27965.
3083
3084         * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
3085         (WebCore::ImageSource::isSizeAvailable): Shorten.
3086         (WebCore::ImageSource::size): Shorten.
3087         (WebCore::ImageSource::frameSizeAtIndex): Shorten.
3088         (WebCore::ImageSource::repetitionCount): Shorten.
3089         (WebCore::ImageSource::frameIsCompleteAtIndex):
3090         * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
3091
3092 2009-08-27  Peter Kasting  <pkasting@google.com>
3093
3094         Reviewed by Eric Seidel.
3095
3096         https://bugs.webkit.org/show_bug.cgi?id=28785
3097         Add ImageDecoder.cpp to various build files so platforms will be able to
3098         use it.  Move an ENABLE to not cover the whole file, in preparation for
3099         adding a bunch of code.  Simplify #ifdefs in ImageDecoder.h to be "Skia
3100         vs. everyone else", which also gives new platforms a reasonable default
3101         behavior.
3102
3103         * GNUmakefile.am:
3104         * WebCore.gypi:
3105         * WebCore.vcproj/WebCore.vcproj:
3106         * WebCoreSources.bkl:
3107         * platform/image-decoders/ImageDecoder.cpp:
3108         (WebCore::):
3109         * platform/image-decoders/ImageDecoder.h:
3110         (WebCore::RGBA32Buffer::getAddr):
3111
3112 2009-08-27  Antti Koivisto  <antti@apple.com>
3113
3114         Reviewed by Dave Kilzer.
3115         
3116         https://bugs.webkit.org/show_bug.cgi?id=28784
3117         
3118         Add an exported method to flush pending repaints.
3119
3120         * WebCore.base.exp:
3121         * page/FrameView.cpp:
3122         (WebCore::FrameView::layoutIfNeededRecursive):
3123         (WebCore::FrameView::flushDeferredRepaints):
3124         * page/FrameView.h:
3125
3126 2009-08-27  Noel Gordon  <noel.gordon@gmail.com>
3127
3128         Reviewed by Eric Seidel.
3129
3130         [V8] Expose files from the pasteboard in drop events.
3131         https://bugs.webkit.org/show_bug.cgi?id=28782
3132
3133         Update chromium port to expose dataTransfer.files() as per
3134         HTML5 drag drop (Aug 2009 edition).
3135
3136         * platform/chromium/ClipboardChromium.cpp:
3137
3138 2009-08-27  Yury Semikhatsky  <yurys@chromium.org>
3139
3140         Reviewed by Dmitry Glazkov.
3141
3142         ScriptState now keeps explicit Handle of devtools front-end
3143         utility context instead of trying to retrieve it from inspected
3144         Frame.
3145
3146         https://bugs.webkit.org/show_bug.cgi?id=28772
3147
3148         * bindings/v8/ScriptController.cpp:
3149         (WebCore::ScriptController::ScriptController):
3150         * bindings/v8/ScriptController.h:
3151         * bindings/v8/ScriptObjectQuarantine.cpp:
3152         (WebCore::getQuarantinedScriptObject):
3153         * bindings/v8/ScriptScope.cpp:
3154         (WebCore::ScriptScope::ScriptScope):
3155         * bindings/v8/ScriptState.cpp:
3156         (WebCore::ScriptState::ScriptState):
3157         (WebCore::ScriptState::~ScriptState):
3158         (WebCore::scriptStateFromPage):
3159         * bindings/v8/ScriptState.h:
3160         (WebCore::ScriptState::context):
3161         * bindings/v8/ScriptValue.h:
3162         (WebCore::ScriptValue::~ScriptValue):
3163         * inspector/InspectorController.h:
3164         (WebCore::InspectorController::frontendScriptState):
3165
3166 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
3167
3168         Reviewed by Timothy Hatcher.
3169
3170         WebInspector: Console won't close.
3171
3172         https://bugs.webkit.org/show_bug.cgi?id=28778
3173
3174         * inspector/front-end/ElementsPanel.js:
3175         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
3176         * inspector/front-end/utilities.js:
3177         (Node.prototype.isAncestor):
3178
3179 2009-08-27  Eric Seidel  <eric@webkit.org>
3180
3181         Reviewed by Adam Barth.
3182
3183         Fix a typo in files() causing image drags to have junk file arrays.
3184         https://bugs.webkit.org/show_bug.cgi?id=28755
3185
3186         Test: editing/pasteboard/files-during-page-drags.html
3187
3188         * platform/mac/ClipboardMac.mm:
3189         (WebCore::ClipboardMac::files):
3190
3191 2009-08-27  Jeremy Orlow  <jorlow@chromium.org>
3192
3193         Not reviewed.  Build fix for Chromium.
3194
3195         * bindings/v8/DOMObjectsInclude.h:
3196         * bindings/v8/DerivedSourcesAllInOne.cpp:
3197         * bindings/v8/V8Index.cpp:
3198         * bindings/v8/V8Index.h:
3199
3200 2009-08-27  Alexey Proskuryakov  <ap@apple.com>
3201
3202         Windows build fix.
3203
3204         * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
3205
3206 2009-08-26  Alexey Proskuryakov  <ap@apple.com>
3207
3208         Reviewed by Adele Peterson.
3209
3210         https://bugs.webkit.org/show_bug.cgi?id=28758
3211         <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
3212
3213         Tests: fast/events/pageshow-pagehide-on-back-cached.html
3214                fast/events/pageshow-pagehide-on-back-uncached.html
3215                fast/events/pageshow-pagehide.html
3216
3217         * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
3218         (this function is called both when a document goes away, and when it goes to b/f cache).
3219
3220         * page/DOMWindow.cpp:
3221         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
3222         (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
3223         that can be installed on Window object.
3224         (WebCore::DOMWindow::onpagehide): Ditto.
3225         (WebCore::DOMWindow::setOnpagehide): Ditto.
3226         (WebCore::DOMWindow::onpageshow): Ditto.
3227         (WebCore::DOMWindow::setOnpageshow): Ditto.
3228
3229         * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
3230         that isn't being restored from cache.
3231
3232         * dom/PageTransitionEvent.cpp: Added.
3233         (WebCore::PageTransitionEvent::PageTransitionEvent):
3234         (WebCore::PageTransitionEvent::~PageTransitionEvent):
3235         (WebCore::PageTransitionEvent::initPageTransitionEvent):
3236         * dom/PageTransitionEvent.h: Added.
3237         (WebCore::PageTransitionEvent::create):
3238         (WebCore::PageTransitionEvent::isPageTransitionEvent):
3239         (WebCore::PageTransitionEvent::persisted):
3240         * dom/PageTransitionEvent.idl: Added.
3241         Add event class implementation.
3242
3243         * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
3244         inline listener definition (note that adding listeners to document.body programmatically
3245         is not supported, matching Firefox).
3246
3247         * dom/Document.cpp:
3248         (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
3249         (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
3250         Docuemnt.
3251         (WebCore::Document::createEvent): Ditto.
3252
3253         * dom/Document.h: Added dispatchPageTransitionEvent.
3254
3255         * DerivedSources.make:
3256         * GNUmakefile.am:
3257         * WebCore.gypi:
3258         * WebCore.pro:
3259         * WebCore.vcproj/WebCore.vcproj:
3260         * WebCore.xcodeproj/project.pbxproj:
3261         * WebCoreSources.bkl:
3262         * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
3263         * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
3264         * dom/Event.h:
3265         * dom/EventNames.h:
3266         * html/HTMLAttributeNames.in:
3267         * page/DOMWindow.h:
3268         * page/DOMWindow.idl:
3269         Do what it takes to add a new event type.
3270
3271 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
3272
3273         Reviewed by NOBODY (build fix).
3274
3275         Adding missing file from previous commit.
3276
3277         https://bugs.webkit.org/show_bug.cgi?id=28740
3278
3279         * inspector/front-end/SummaryBar.js: Added.
3280         (WebInspector.SummaryBar):
3281         (WebInspector.SummaryBar.prototype.get calculator):
3282         (WebInspector.SummaryBar.prototype.set calculator):
3283         (WebInspector.SummaryBar.prototype.reset):
3284         (WebInspector.SummaryBar.prototype.update):
3285         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
3286         (WebInspector.SummaryBar.prototype._drawSwatch):
3287         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
3288         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
3289         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
3290         (WebInspector.SummaryBar.prototype._fadeOutRect):
3291         (WebInspector.SummaryBar.prototype._makeLegendElement):
3292
3293 2009-08-27  Mikhail Naganov  <mnaganov@chromium.org>
3294
3295         Reviewed by Timothy Hatcher.
3296
3297         Factor out Factor out summary bar from Resources panel.
3298
3299         https://bugs.webkit.org/show_bug.cgi?id=28740
3300
3301         * WebCore.gypi:
3302         * WebCore.vcproj/WebCore.vcproj:
3303         * inspector/front-end/ResourcesPanel.js:
3304         (WebInspector.ResourcesPanel.prototype.reset):
3305         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
3306         (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
3307         (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
3308         * inspector/front-end/SummaryBar.js: Added.
3309         (WebInspector.SummaryBar):
3310         (WebInspector.SummaryBar.prototype.get calculator):
3311         (WebInspector.SummaryBar.prototype.set calculator):
3312         (WebInspector.SummaryBar.prototype.reset):
3313         (WebInspector.SummaryBar.prototype.update):
3314         (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
3315         (WebInspector.SummaryBar.prototype._drawSwatch):
3316         (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
3317         (WebInspector.SummaryBar.prototype._drawSummaryGraph):
3318         (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
3319         (WebInspector.SummaryBar.prototype._fadeOutRect):
3320         (WebInspector.SummaryBar.prototype._makeLegendElement):
3321         * inspector/front-end/WebKit.qrc:
3322         * inspector/front-end/inspector.css:
3323         * inspector/front-end/inspector.html:
3324
3325 2009-08-26  Mikhail Naganov  <mnaganov@chromium.org>
3326
3327         Reviewed by Timothy Hatcher.
3328
3329         Start adding heap profiler to Inspector (hidden behind a flag.)
3330
3331         https://bugs.webkit.org/show_bug.cgi?id=28429
3332
3333         * English.lproj/localizedStrings.js:
3334         * inspector/front-end/ProfilesPanel.js:
3335         (WebInspector.ProfilesPanel):
3336         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
3337         (WebInspector.ProfilesPanel.prototype.reset):
3338         (WebInspector.ProfilesPanel.prototype.addProfile):
3339         (WebInspector.ProfilesPanel.prototype._updateInterface):
3340         (WebInspector.ProfilesPanel.prototype._snapshotClicked):
3341         * inspector/front-end/inspector.css:
3342         * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
3343
3344 2009-08-27  Pavel Feldman  <pfeldman@chromium.org>
3345
3346         Reviewed by Timothy Hatcher.
3347
3348         WebInspector: Metrics sidebar editing is broken.
3349
3350         https://bugs.webkit.org/show_bug.cgi?id=28434
3351
3352         * inspector/front-end/MetricsSidebarPane.js:
3353         (WebInspector.MetricsSidebarPane.prototype.update):
3354
3355 2009-08-27  Darin Fisher  <darin@chromium.org>
3356
3357         Reviewed by Dimitri Glazkov.
3358
3359         https://bugs.webkit.org/show_bug.cgi?id=28767
3360
3361         Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
3362         KURL.cpp.  This makes the XSSAuditor tests pass when using KURLGoogle.
3363
3364         * platform/KURLGoogle.cpp:
3365         (WebCore::decodeURLEscapeSequences):
3366
3367 2009-08-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
3368
3369         Reviewed by Tor Arne Vestbø.
3370
3371         [Qt] Build fix, missing functions after r47763.
3372
3373         * platform/qt/Localizations.cpp:
3374         (WebCore::localizedMediaControlElementString):
3375         (WebCore::localizedMediaControlElementHelpText):
3376         (WebCore::localizedMediaTimeDescription):
3377
3378 2009-08-26  Dumitru Daniliuc  <dumi@chromium.org>
3379
3380         Reviewed by Adam Barth.
3381
3382         Removing trailing whitespaces from all storage classes.
3383
3384         https://bugs.webkit.org/show_bug.cgi?id=28075
3385
3386         * storage/ChangeVersionWrapper.cpp:
3387         * storage/Database.cpp:
3388         * storage/Database.h:
3389         * storage/DatabaseDetails.h:
3390         * storage/DatabaseThread.cpp:
3391         * storage/DatabaseTracker.cpp:
3392         * storage/DatabaseTracker.h:
3393         * storage/LocalStorageTask.cpp:
3394         * storage/LocalStorageTask.h:
3395         * storage/LocalStorageThread.cpp:
3396         * storage/LocalStorageThread.h:
3397         * storage/OriginQuotaManager.cpp:
3398         * storage/OriginUsageRecord.cpp:
3399         * storage/OriginUsageRecord.h:
3400         * storage/SQLError.h:
3401         * storage/SQLResultSetRowList.h:
3402         * storage/SQLStatement.cpp:
3403         * storage/SQLStatement.h:
3404         * storage/SQLStatementCallback.h:
3405         * storage/SQLStatementErrorCallback.h:
3406         * storage/SQLTransaction.cpp:
3407         * storage/SQLTransaction.h:
3408         * storage/SQLTransactionCallback.h:
3409         * storage/SQLTransactionErrorCallback.h:
3410         * storage/Storage.cpp:
3411         * storage/Storage.h:
3412         * storage/StorageArea.h:
3413         * storage/StorageAreaImpl.cpp:
3414         * storage/StorageAreaImpl.h:
3415         * storage/StorageAreaSync.cpp:
3416         * storage/StorageAreaSync.h:
3417         * storage/StorageEvent.cpp:
3418         * storage/StorageEvent.h:
3419         * storage/StorageMap.cpp:
3420         * storage/StorageMap.h:
3421         * storage/StorageNamespaceImpl.cpp:
3422         * storage/StorageSyncManager.cpp:
3423         * storage/StorageSyncManager.h:
3424
3425 2009-08-26  Dave Hyatt  <hyatt@apple.com>
3426
3427         Reviewed by Anders Carlsson.
3428
3429         https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
3430
3431         Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen.  We need
3432         to do this in order for overflow information to be properly recomputed.
3433
3434         * rendering/style/RenderStyle.cpp:
3435         (WebCore::RenderStyle::diff):
3436
3437 2009-08-26  Eric Carlson  <eric.carlson@apple.com>
3438
3439         Reviewed by Simon Fraser.
3440
3441         HTMLMediaElement sometimes loses events
3442         https://bugs.webkit.org/show_bug.cgi?id=28762
3443         <rdar://problem/7172437>
3444
3445         A media element triggers the resource selection algorithm if 
3446         play() is called when the networkState attribute is NETWORK_EMPTY, but
3447         it also immediately queues 'play' and either 'waiting' or 'playing' events.
3448         One of the steps in preparing to load is to flush pending events, so those 
3449         events were lost if the load timer fired quickly enough. Fixed by deleting
3450         pending events before scheduling the load timer.
3451
3452         Test: media/audio-play-event.html
3453
3454         * html/HTMLMediaElement.cpp:
3455         (WebCore::HTMLMediaElement::scheduleLoad):
3456             Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 
3457             pending events is flushed immediately.
3458         (WebCore::HTMLMediaElement::scheduleNextSourceChild):
3459             New, start the load timer without flushing pending events.
3460         (WebCore::HTMLMediaElement::load):
3461             Call prepareForLoad();
3462         (WebCore::HTMLMediaElement::prepareForLoad):
3463             New, load setup code moved from loadInternal.
3464         (WebCore::HTMLMediaElement::loadInternal):
3465             Moved some setup code to prepareForLoad so it can be invoked immediately before
3466             arming the load timer.
3467         (WebCore::HTMLMediaElement::setNetworkState):
3468             Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
3469             pending events.
3470         * html/HTMLMediaElement.h:
3471             Declare scheduleNextSourceChild.
3472
3473 2009-08-26  Peter Kasting  <pkasting@google.com>
3474
3475         Reviewed by Eric Seidel.
3476
3477         https://bugs.webkit.org/show_bug.cgi?id=28751
3478         Switch ICO decoder from a Vector of raw pointers to a Vector of
3479         OwnPtrs now that that is possible.  Makes code slightly simpler.
3480
3481         * platform/image-decoders/ico/ICOImageDecoder.cpp:
3482         (WebCore::ICOImageDecoder::decodeAtIndex):
3483         (WebCore::ICOImageDecoder::processDirectory):
3484         * platform/image-decoders/ico/ICOImageDecoder.h:
3485
3486 2009-08-26  Dave Hyatt  <hyatt@apple.com>
3487
3488         Reviewed by Dan Bernstein.
3489
3490         https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
3491         Make sure vertical overflow is still computed across self-painting layers, even though it isn't
3492         propagated to parents.
3493
3494         Added fast/repaint/rel-positioned-inline-with-overflow.html
3495
3496         * rendering/InlineFlowBox.cpp:
3497         (WebCore::InlineFlowBox::computeVerticalOverflow):
3498
3499 2009-08-26  David Levin  <levin@chromium.org>
3500
3501         Reviewed by Darin Fisher.
3502
3503         ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
3504         https://bugs.webkit.org/show_bug.cgi?id=28735
3505
3506         Renaming the method to imply its wider implications of affecting cookies
3507         over any protocol that supports them.
3508
3509         No change in functionality so no new tests.
3510
3511         * WebCore.order:
3512         * loader/DocumentThreadableLoader.cpp:
3513         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3514         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
3515         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
3516         * platform/network/ResourceRequestBase.cpp:
3517         (WebCore::ResourceRequestBase::adopt):
3518         (WebCore::ResourceRequestBase::copyData):
3519         (WebCore::ResourceRequestBase::allowCookies):
3520         (WebCore::ResourceRequestBase::setAllowCookies):
3521         (WebCore::equalIgnoringHeaderFields):
3522         * platform/network/ResourceRequestBase.h:
3523         (WebCore::ResourceRequestBase::ResourceRequestBase):
3524         * platform/network/cf/ResourceRequestCFNet.cpp:
3525         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3526         (WebCore::ResourceRequest::doUpdateResourceRequest):
3527         * platform/network/mac/ResourceRequestMac.mm:
3528         (WebCore::ResourceRequest::doUpdateResourceRequest):
3529         (WebCore::ResourceRequest::doUpdatePlatformRequest):
3530         * platform/network/soup/ResourceRequestSoup.cpp:
3531         (WebCore::ResourceRequest::updateFromSoupMessage):
3532
3533 2009-08-26  Dan Bernstein  <mitz@apple.com>
3534
3535         Reviewed by Dave Hyatt.
3536
3537         Made RenderInline::clippedOverflowRectForRepaint() actually include
3538         overflow.
3539
3540         Test: fast/repaint/inline-overflow.html
3541
3542         * rendering/RenderInline.cpp:
3543         (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
3544             the bounding box of all lines’ visible overflow boxes (under the
3545             assumption that the first and last lines determine the top and
3546             bottom, respectively).
3547         (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
3548             linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
3549         * rendering/RenderInline.h:
3550
3551 2009-08-26  John Gregg  <johnnyg@google.com>
3552
3553         Reviewed by David Levin.
3554
3555         minor style correction and include fix for notifications
3556         https://bugs.webkit.org/show_bug.cgi?id=28745
3557
3558         No change in behavior, so no tests.
3559
3560         * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
3561         * notifications/Notification.cpp: change enum style to InterCaps
3562         (WebCore::Notification::Notification):
3563         * notifications/NotificationPresenter.h:
3564         (WebCore::NotificationPresenter::):
3565
3566 2009-08-25  Drew Wilson  <atwilson@google.com>
3567
3568         Reviewed by David Levin.
3569
3570         postMessage() spec now supports sending arrays of ports
3571         https://bugs.webkit.org/show_bug.cgi?id=26902
3572
3573         Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
3574
3575         No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
3576
3577         * WebCore.xcodeproj/project.pbxproj:
3578         Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
3579         * dom/MessageEvent.cpp:
3580         Updated APIs to support passing MessagePortArrays.
3581         (WebCore::MessageEvent::MessageEvent):
3582         (WebCore::MessageEvent::initMessageEvent):
3583         (WebCore::MessageEvent::messagePort):
3584         * dom/MessageEvent.h:
3585         (WebCore::MessageEvent::create):
3586         Now accepts a MessagePortArray parameter instead of a single MessagePort.
3587         (WebCore::MessageEvent::ports):
3588         * dom/MessagePort.cpp:
3589         (WebCore::MessagePort::postMessage):
3590         (WebCore::MessagePort::dispatchMessages):
3591         (WebCore::MessagePort::disentanglePorts):
3592         Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
3593         (WebCore::MessagePort::entanglePorts):
3594         Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
3595         * dom/MessagePort.h:
3596         * dom/MessagePortChannel.cpp:
3597         EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
3598         (WebCore::MessagePortChannel::EventData::create):
3599   &nbs