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