2009-10-21 Andrew Scherkus <scherkus@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-10-21  Pavel Feldman  <pfeldman@chromium.org>
2
3         Not reviewed: chromium build fix - add missing image to gypi.
4
5         * WebCore.gypi:
6
7 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
8
9         Reviewed by Eric Seidel.
10
11         Fixes part of <http://webkit.org/b/30522>.
12         Web Inspector: DOM Exceptions throughout the Inspector should be more human readable.
13
14         Expose the description attribute that is now a member of
15         ExceptionBase as of r49723, so when a user logs an exception, they
16         can see the description in the Web Inspector.
17
18         Test: fast/dom/dom-exception-description.html
19
20         * dom/DOMCoreException.idl:
21         * dom/EventException.idl:
22         * dom/RangeException.idl:
23         * svg/SVGException.idl:
24         * xml/XMLHttpRequestException.idl:
25         * xml/XPathException.idl:
26
27 2009-10-21  Brian Weinstein  <bweinstein@apple.com>
28
29         Reviewed by Timothy Hatcher.
30
31         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>.
32         REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary.
33         
34         Add a check to make sure a function we need to calculate percentages is
35         defined before we use it.
36
37         * inspector/front-end/ResourcesPanel.js:
38         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
39
40 2009-10-21  Keishi Hattori  <casey.hattori@gmail.com>
41
42         Reviewed by Timothy Hatcher.
43
44         REGRESSION: Clicking on nodes in the console should take you to the element in the DOM
45         https://bugs.webkit.org/show_bug.cgi?id=27231
46
47         * inspector/front-end/ConsoleView.js:
48         (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled
49         * inspector/front-end/ElementsTreeOutline.js:
50         (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled
51         (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if 
52         treeOutline.showInElementsPanelEnabled is true.
53
54 2009-10-21  Jeremy Orlow  <jorlow@chromium.org>
55
56         Reviewed by Eric Seidel.
57
58         https://bugs.webkit.org/show_bug.cgi?id=30637
59         Fix a compiler warning in windows.
60
61         * loader/ResourceLoadNotifier.h:
62
63 2009-10-21  Dmitry Titov  <dimich@chromium.org>
64
65         Reviewed by Darin Adler.
66
67         Fix the crash when a node not in a document receives dispatchEvent.
68         https://bugs.webkit.org/show_bug.cgi?id=30611
69
70         Test: fast/events/dispatch-event-no-document.html
71
72         * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context.
73         (WebCore::EventTarget::dispatchEvent):
74
75 2009-10-21  Adam Langley  <agl@google.com>
76
77         Reviewed by Eric Seidel.
78
79         Chromium Linux: disable subpixel text on layers.
80
81         https://bugs.webkit.org/show_bug.cgi?id=30635
82         http://code.google.com/p/chromium/issues/detail?id=25365
83
84         With the addition of layers for drawing rounded corners in r49641,
85         subpixel text on rounded rectangles broke. This is because the layer
86         only contains a single alpha channel and this is insufficient to
87         compose subpixel text correctly.
88
89         On Windows, a large body of code in TransparencyWin.cpp exists to try
90         to deal with this. Even then, in some cases, it downgrades to
91         anti-aliased text. We need a fix for the grevious effects quickly thus
92         this patch disables subpixel text when rendering into a layer.
93
94         This would be covered by existing tests except that subpixel text is
95         disabled for pixel tests on Chromium Linux.
96
97         * platform/graphics/chromium/FontLinux.cpp:
98         (WebCore::isCanvasMultiLayered):
99         (WebCore::adjustTextRenderMode):
100         (WebCore::Font::drawGlyphs):
101         (WebCore::Font::drawComplexText):
102
103 2009-10-21  Kevin Ollivier  <kevino@theolliviers.com>
104
105         wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise
106         it will use the sqlite3 system library rather than WebCoreSQLite3.
107
108         * wscript:
109
110 2009-10-21  Dan Bernstein  <mitz@apple.com>
111
112         Reviewed by Sam Weinig.
113
114         Fixed background-clip parsing regressions introduced in r46240.
115
116         Test: fast/css/background-clip-text.html
117
118         * css/CSSParser.cpp:
119         (WebCore::parseBackgroundClip): Added this helper method.
120         (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to
121         reparse the value. The old code called parseFillProperty() again, which
122         didn’t work, because parseFillProperty() advances the value list.
123         (WebCore::CSSParser::parseFillProperty): Changed to use
124         parseBackgroundClip().
125         * css/CSSPrimitiveValueMappings.h:
126         (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for
127         CSSValueWebkitText.
128
129 2009-10-21  Alexander Pavlov  <apavlov@chromium.org>
130
131         Reviewed by Timothy Hatcher.
132
133         Enable creation of custom SidebarTreeElements for different ProfileTypes
134
135         ProfileTypes can now create sidebar tree elements of custom types.
136         https://bugs.webkit.org/show_bug.cgi?id=30520
137
138         * inspector/front-end/ProfileView.js:
139         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
140         (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
141         (WebInspector.CPUProfileType.prototype.createView):
142         (WebInspector.CPUProfile.prototype.get head):
143         * inspector/front-end/ProfilesPanel.js:
144         (WebInspector.ProfileType.prototype.buttonClicked):
145         (WebInspector.ProfileType.prototype.viewForProfile):
146         (WebInspector.ProfileType.prototype.createView):
147         (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
148         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
149         (WebInspector.ProfilesPanel.prototype.showProfile):
150
151 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
152
153         Reviewed by Timothy Hatcher.
154
155         Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked
156         https://bugs.webkit.org/show_bug.cgi?id=17126
157
158         * inspector/front-end/ElementsPanel.js:
159         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search
160         * inspector/front-end/StylesSidebarPane.js:
161         (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search
162         * inspector/front-end/ElementsTreeOutline.js:
163         (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name
164
165 2009-10-20  Pavel Feldman  <pfeldman@chromium.org>
166
167         Reviewed by Timothy Hatcher.
168
169         Web Inspector: Fix DOM Agent leak.
170
171         https://bugs.webkit.org/show_bug.cgi?id=30615
172
173         * inspector/InspectorController.cpp:
174         (WebCore::InspectorController::~InspectorController):
175
176 2009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
177
178         Reviewed by Holger Freyther.
179
180         Plugins: Create manual tests for testing plugins
181         
182         Create two test files:
183         1. windowed.html - Test plugin in windowed mode.
184         2. windowless.html - Test plugin in windowless mode.
185
186         https://bugs.webkit.org/show_bug.cgi?id=30503
187
188         * manual-tests/plugins/windowed.html: Added.
189         * manual-tests/plugins/windowless.html: Added.
190
191 2009-10-21  Satoshi Nakagawa  <psychs@limechat.net>
192
193         Reviewed by Darin Adler.
194
195         Fixed Japanese text search problems.
196         Treat small kana letters and kana letters as different characters in search.
197         Do not ignore diacritic marks in search for Japanese texts.
198
199         https://bugs.webkit.org/show_bug.cgi?id=30437
200
201         Test: fast/text/international/japanese-kana-letters.html
202
203         * editing/TextIterator.cpp:
204         (WebCore::createCollator):
205         (WebCore::collator):
206         (WebCore::createSearcher):
207
208 2009-10-20  Eric Z. Ayers  <zundel@google.com>
209
210         Reviewed by Timothy Hatcher.
211
212         Changes TimelineItems to be created with raw timestamps as opposed
213         to a time relative to a start of session.  Normalized timestamps cause
214         problems when monitoring a browsing session across multiple page
215         transitions.
216
217         * inspector/InspectorTimelineAgent.cpp:
218         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
219         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
220         (WebCore::InspectorTimelineAgent::willLayout):
221         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
222         (WebCore::InspectorTimelineAgent::willPaint):
223         (WebCore::InspectorTimelineAgent::willWriteHTML):
224         (WebCore::InspectorTimelineAgent::reset):
225         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
226         * inspector/InspectorTimelineAgent.h:
227
228 2009-10-20  Mark Rowe  <mrowe@apple.com>
229
230         Reviewed by Oliver Hunt.
231
232         Fix leak of WebSocketChannel by adopting the newly-created reference.
233
234         * websockets/WebSocketChannel.h:
235         (WebCore::WebSocketChannel::create):
236
237 2009-10-20  Jeremy Orlow  <jorlow@chromium.org>
238
239         Reviewed by Adam Barth.
240
241         DOM Storage runtime flag changes
242         https://bugs.webkit.org/show_bug.cgi?id=30602
243
244         Part 1/2.  Removing sessionStorageEnabled in next patch after the
245         Chromium side of the changes lands.
246
247         Revert my changes to Settings and instead implement DOM Storage enabling via
248         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
249
250         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
251         LayoutTest visible changes and thus no tests.
252
253         * bindings/v8/custom/V8CustomBinding.h:
254         * bindings/v8/custom/V8DOMWindowCustom.cpp:
255         (WebCore::ACCESSOR_RUNTIME_ENABLER):
256         * page/DOMWindow.idl:
257         * storage/Storage.cpp:
258         (WebCore::Storage::setLocalStorageAvailable):
259         (WebCore::Storage::localStorageAvailable):
260         (WebCore::Storage::setSessionStorageAvailable):
261         (WebCore::Storage::sessionStorageAvailable):
262         * storage/Storage.h:
263
264 2009-10-20  John Gregg  <johnnyg@google.com>
265
266         Reviewed by David Levin.
267
268         Need to turn off notifications properly at runtime
269         https://bugs.webkit.org/show_bug.cgi?id=30409
270
271         This code only affects chromium, and is all behind a compile time
272         flag current turned off, so no new tests.
273
274         * bindings/v8/custom/V8CustomBinding.h:
275         * bindings/v8/custom/V8DOMWindowCustom.cpp:
276         (WebCore::ACCESSOR_RUNTIME_ENABLER):
277         * bindings/v8/custom/V8WorkerContextCustom.cpp:
278         (WebCore::ACCESSOR_RUNTIME_ENABLER):
279         * notifications/NotificationCenter.cpp:
280         (WebCore::NotificationCenter::setIsAvailable):
281         (WebCore::NotificationCenter::isAvailable):
282         * notifications/NotificationCenter.h:
283         * page/DOMWindow.idl:
284         * workers/WorkerContext.idl:
285
286 2009-10-20  James Robinson  <jamesr@chromium.org>
287
288         Reviewed by Adam Barth.
289
290         Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and
291         use adoptRef() properly.  I failed to read the RefPtr docs the first time through :(
292
293         No new tests, error was caught by valgrind on the Chromium builders.
294
295         * bindings/v8/ScriptString.h:
296         (WebCore::ScriptString::ScriptString):
297         (WebCore::ScriptString::operator=):
298         * bindings/v8/ScriptStringImpl.h:
299         (WebCore::ScriptStringImpl::create):
300
301 2009-10-20  Mikhail Naganov  <mnaganov@chromium.org>
302
303         Reviewed by Pavel Feldman.
304
305         Web Inspector: populate child nodes before sorting them.
306
307         https://bugs.webkit.org/show_bug.cgi?id=29673
308
309         * inspector/front-end/BottomUpProfileDataGridTree.js:
310         (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode.
311         (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
312         (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
313         (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
314         (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
315         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
316         (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
317         * inspector/front-end/ProfileDataGridTree.js:
318         (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses.
319         (WebInspector.ProfileDataGridNode.prototype.get _parent):
320         (WebInspector.ProfileDataGridNode.prototype._populate):
321         * inspector/front-end/TopDownProfileDataGridTree.js:
322         (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
323
324 2009-10-20  Jens Alfke  <snej@chromium.org>
325
326         Reviewed by Eric Seidel.
327
328         Remove redundant String ref/deref calls in generated V8 bindings.
329         https://bugs.webkit.org/show_bug.cgi?id=30579
330
331         * bindings/v8/V8Binding.h:
332         (WebCore::toString): Fix return type of 'toString' to make it truly a no-op
333             instead of constructing/destructing a String.
334
335 2009-10-20  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
336
337         Reviewed by Xan Lopez.
338
339         https://bugs.webkit.org/show_bug.cgi?id=25411
340         [GTK] ATK accessible ancestry broken
341
342         Work around for the problem of bogus additional objects in the ancestry.
343         We now set the parent when we ref the child, then ask the Atk child if
344         it knows its parent. This solves the bulk of the cases. For those it
345         doesn't, fall back to the existing logic.
346
347         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
348         (webkit_accessible_get_parent):
349         (webkit_accessible_ref_child):
350
351 2009-10-20  Brian Weinstein  <bweinstein@apple.com>
352
353         Reviewed by Alice Liu.
354
355         Fixes <http://webkit.org/b/30421>.
356         Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain.
357
358         When a page like Google generates an about:blank, it shows up as a local file on
359         the list of Cookie domains, but has all of the cookies of Google. When we are adding
360         cookie domains to the inspector, we should only add the domain is the URL of the resource
361         is in the HTTP protocol family or a file URL.
362
363         * inspector/InspectorController.cpp:
364         (WebCore::InspectorController::populateScriptObjects):
365         (WebCore::InspectorController::didFinishLoading):
366
367 2009-10-20  Mark Mentovai  <mark@chromium.org>
368
369         Reviewed by Darin Fisher.
370
371         Use a version of libWebKitSystemInterface with global symbols marked
372         private_extern for Chromium Mac.
373
374         https://bugs.webkit.org/show_bug.cgi?id=30590
375
376         * WebCore.gyp/WebCore.gyp:
377         * WebCore.gyp/mac: Added.
378         * WebCore.gyp/mac/Empty.cpp: Added.
379         * WebCore.gyp/mac/adjust_visibility.sh: Added.
380
381 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
382
383         Reviewed by Eric Seidel.
384
385         Allow custom memory allocation control for WebCore's CSSProperty
386         https://bugs.webkit.org/show_bug.cgi?id=30564
387
388         Inherits CSSProperty class from FastAllocBase because it has been
389         instantiated by 'new' in WebCore/css/CSSParser.cpp:367.
390
391         * css/CSSProperty.h:
392
393 2009-10-20  Andrew Scherkus  <scherkus@chromium.org>
394
395         Reviewed by Eric Seidel.
396
397         Hide Chromium's media slider thumb if no source has been loaded.
398
399         https://bugs.webkit.org/show_bug.cgi?id=30529
400
401         Covered by existing layout tests, notably:
402             LayoutTests/media/controls-rendering.html
403             LayoutTests/media/unsupported-tracks.html
404             LayoutTests/media/video-src-none.html
405
406         * rendering/RenderMediaControlsChromium.cpp:
407         (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set.
408         (WebCore::paintMediaMuteButton): Refactored to use hasSource().
409         (WebCore::paintMediaPlayButton): Ditto.
410         (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb.
411
412 2009-10-20  Nate Chapin  <japhet@chromium.org>
413
414         Reviewed by Adam Barth.
415
416         Added getter for FrameLoader:m_suppressOpenerInNewFrame.
417         This will allow Chromium to more intelligently detect
418         noreferrer links and therefore open them in a new process.
419
420         https://bugs.webkit.org/show_bug.cgi?id=30581
421
422         * loader/FrameLoader.h:
423         (WebCore::FrameLoader::suppressOpenerInNewFrame): Added.
424
425 2009-10-20  Zoltan Horvath  <zoltan@webkit.org>
426
427         Reviewed by Darin Adler.
428
429         Allow custom memory allocation control for WebCore's CSSParserFunction
430         https://bugs.webkit.org/show_bug.cgi?id=30563
431
432         Inherits CSSParserFunction struct from FastAllocBase because it has been
433         instantiated by 'new' in WebCore/css/CSSParser.cpp:4827.
434
435         * css/CSSProperty.h:
436
437 2009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
438
439         Reviewed by Timothy Hatcher.
440
441         Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles
442         https://bugs.webkit.org/show_bug.cgi?id=30554
443
444         * inspector/front-end/inspector.css: added style to pane buttons
445
446 2009-10-20  Yury Semikhatsky  <yurys@chromium.org>
447
448         Reviewed by Pavel Feldman.
449
450         Set debug id for contexts of isolated worlds to distinguish them in debugger.
451
452         https://bugs.webkit.org/show_bug.cgi?id=30559
453
454         * bindings/v8/V8Proxy.cpp:
455         (WebCore::V8Proxy::evaluateInIsolatedWorld):
456         (WebCore::V8Proxy::evaluateInNewContext):
457         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
458         * bindings/v8/V8Proxy.h:
459
460 2009-10-20  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
461
462         Unreviewed buildfix.
463         [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro.
464
465         * WebCore.pro:
466
467 2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
468
469         Reviewed by David Levin.
470
471         Set EnabledAtRuntime for WebSocket in DOMWindow
472         https://bugs.webkit.org/show_bug.cgi?id=29896
473
474         Supported by chromium/v8 only.
475         Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8
476         bindings.
477         Remove Settings::experimentalWebSocketsEnabled() and
478         setExperimentalWebSocketsEnabled(bool).
479
480         * WebCore.base.exp:
481         * bindings/js/JSDOMWindowCustom.cpp:
482         (WebCore::JSDOMWindow::webSocket):
483         * bindings/v8/V8DOMWrapper.cpp:
484         (WebCore::V8DOMWrapper::getConstructor):
485         * bindings/v8/custom/V8CustomBinding.h:
486         * bindings/v8/custom/V8DOMWindowCustom.cpp:
487         (WebCore::ACCESSOR_RUNTIME_ENABLER):
488         * page/DOMWindow.idl:
489         * page/Settings.cpp:
490         (WebCore::Settings::Settings):
491         * page/Settings.h:
492         * websockets/WebSocket.cpp:
493         (WebCore::WebSocket::setIsAvailable):
494         (WebCore::WebSocket::isAvailable):
495         * websockets/WebSocket.h:
496
497 2009-10-19  Oliver Hunt  <oliver@apple.com>
498
499         Reviewed by Sam Weinig.
500
501         REGRESSION: Dromaeo DOM test is 14% slower
502         https://bugs.webkit.org/show_bug.cgi?id=30273
503
504         Whoops, make prototype bindings actually use the StructureFlags.
505
506         * bindings/scripts/CodeGeneratorJS.pm:
507
508 2009-10-19  James Robinson  <jamesr@chromium.org>
509
510         Reviewed by Adam Barth.
511
512         Better implementation of WebCore::ScriptString for the V8 bindings.
513
514         https://bugs.webkit.org/show_bug.cgi?id=29909
515
516         WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is
517         shared with JavaScript.  Thus, simply using a WebCore::String and copying the value
518         is pretty inefficient, especially since responseText is built up with a sequence of
519         operator+= calls.  JSC builds use a JSC::UString to share the buffer when possible,
520         this patch adopts a similar approach for V8.
521
522         No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest
523
524         * WebCore.gypi:
525         * bindings/v8/ScriptString.h:
526         (WebCore::ScriptString::ScriptString):
527         (WebCore::ScriptString::operator String):
528         (WebCore::ScriptString::isNull):
529         (WebCore::ScriptString::size):
530         (WebCore::ScriptString::operator=):
531         (WebCore::ScriptString::operator+=):
532         (WebCore::ScriptString::v8StringOrNull):
533         * bindings/v8/ScriptStringImpl.cpp: Added.
534         (WebCore::ScriptStringImpl::ScriptStringImpl):
535         (WebCore::ScriptStringImpl::~ScriptStringImpl):
536         (WebCore::ScriptStringImpl::toString):
537         (WebCore::ScriptStringImpl::isNull):
538         (WebCore::ScriptStringImpl::size):
539         (WebCore::ScriptStringImpl::append):
540         * bindings/v8/ScriptStringImpl.h: Added.
541         (WebCore::ScriptStringImpl::ScriptStringImpl):
542         (WebCore::ScriptStringImpl::v8StringHandle):
543         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
544         (WebCore::ACCESSOR_GETTER):
545
546 2009-10-19  Adam Barth  <abarth@webkit.org>
547
548         No review, rolling out r49837.
549         http://trac.webkit.org/changeset/49837
550
551         * page/Settings.cpp:
552         (WebCore::Settings::setStandardFontFamily):
553         (WebCore::Settings::setFixedFontFamily):
554         (WebCore::Settings::setSerifFontFamily):
555         (WebCore::Settings::setSansSerifFontFamily):
556         (WebCore::Settings::setCursiveFontFamily):
557         (WebCore::Settings::setFantasyFontFamily):
558         * page/Settings.h:
559         (WebCore::Settings::standardFontFamily):
560         (WebCore::Settings::fixedFontFamily):
561         (WebCore::Settings::serifFontFamily):
562         (WebCore::Settings::sansSerifFontFamily):
563         (WebCore::Settings::cursiveFontFamily):
564         (WebCore::Settings::fantasyFontFamily):
565         * platform/text/UScriptCode.h: Removed.
566
567 2009-10-19  Kwang Yul Seo  <skyul@company100.net>
568
569         Reviewed by Eric Seidel.
570
571         Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf.
572         https://bugs.webkit.org/show_bug.cgi?id=30473
573
574         vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of
575         PLALTFORM(WIN_OS) guards.
576
577         * dom/XMLTokenizerLibxml2.cpp:
578         (WebCore::XMLTokenizer::error):
579
580 2009-10-19  Jungshik Shin  <jshin@chromium.org>
581
582         Reviewed by Eric Seidel.
583
584         https://bugs.webkit.org/show_bug.cgi?id=20797
585
586         Make generic font family getters/setters accept an additional
587         argument (script code). It has a default value so that if an embedder
588         does not have/want a per-script font family setting, call-sites
589         don't have to be changed.
590         This is to prepare for fixing bug 10874 (font selection is not
591         language-dependent) and bug 18085.
592
593         There should be no change in layout and no new layout test
594         is added.
595
596         * WebCore.base.exp:
597         * page/Settings.cpp:
598         * page/Settings.h:
599         * platform/text/UScriptCode.h: Added. This is for ports that
600           do not use ICU. the part of ICU's common/unicode/uscript.h
601           that defines script code enum was copied. To keep enums compatible
602           with those in ICU, we don't generate the list out of Scripts.txt
603           of the Unicode Data base or CLDR's data.
604
605 2009-10-19  Evan Stade  <estade@chromium.org>
606
607         Reviewed by Darin Adler.
608
609         Clarify usage of SuddenTermination API. No code change.
610
611         * platform/SuddenTermination.h:
612
613 2009-10-19  Oliver Hunt  <oliver@apple.com>
614
615         Reviewed by Gavin Barraclough.
616
617         REGRESSION: Dromaeo DOM test is 14% slower
618         https://bugs.webkit.org/show_bug.cgi?id=30273
619
620         Make DOM bindings automatically inherit correct structure
621         flags rather than being needlessly conservative.  This is
622         done by making the bindings generator use the same model
623         for TypeInfo flags that we now use in JSC.
624
625         This gains us about 1% of this regression back.
626
627         * bindings/js/JSDOMBinding.h:
628         (WebCore::DOMObjectWithGlobalPointer::createStructure):
629         (WebCore::DOMConstructorObject::createStructure):
630         * bindings/js/JSDOMWindowShell.h:
631         (WebCore::JSDOMWindowShell::createStructure):
632         * bindings/js/JSHTMLAllCollection.h:
633         (WebCore::JSHTMLAllCollection::createStructure):
634         * bindings/js/JSQuarantinedObjectWrapper.h:
635         (WebCore::JSQuarantinedObjectWrapper::createStructure):
636         * bindings/scripts/CodeGeneratorJS.pm:
637         * bridge/objc/objc_runtime.h:
638         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
639         * bridge/runtime_array.h:
640         (JSC::RuntimeArray::createStructure):
641         * bridge/runtime_method.h:
642         (JSC::RuntimeMethod::createStructure):
643         * bridge/runtime_object.h:
644         (JSC::RuntimeObjectImp::createStructure):
645
646 2009-10-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
647
648         Reviewed by Nikolas Zimmermann.
649
650         Fixed a bug on nested SVG <use> elements.
651         https://bugs.webkit.org/show_bug.cgi?id=26117
652         When a <use> element refer to another <use> element which has
653         child/children, the instance tree built for this <use> element
654         is incorrect (more nodes than expected).
655
656         Test: svg/dom/use-on-use-with-child.svg
657
658         * svg/SVGUseElement.cpp:
659         (WebCore::SVGUseElement::buildInstanceTree):
660
661 2009-10-19  Oliver Hunt  <oliver@apple.com>
662
663         Small changes to fully invalidate and update the JavaScriptCallFrame.
664
665         <rdar://problem/7020755> JSDebugger crashes after reloading from a breakpoint
666         https://bugs.webkit.org/show_bug.cgi?id=27146
667
668         Reviewed by Timothy Hatcher.
669
670         * inspector/JavaScriptCallFrame.h:
671         (WebCore::JavaScriptCallFrame::invalidate):
672         (WebCore::JavaScriptCallFrame::update):
673
674 2009-10-19  Jeremy Orlow  <jorlow@chromium.org>
675
676         Reviewed by Dmitri Titov.
677
678         Remove "source" from storage events
679         https://bugs.webkit.org/show_bug.cgi?id=30536
680
681         Remove "source" from storage events per
682         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
683
684         This was removed because it makes it introduces synchronous access that can
685         cross the event loop boundry (since a storage event can fire from one process
686         and be handled in another).
687
688         * inspector/InspectorDOMStorageResource.cpp:
689         (WebCore::InspectorDOMStorageResource::handleEvent):
690         * storage/StorageEvent.cpp:
691         (WebCore::StorageEvent::create):
692         (WebCore::StorageEvent::StorageEvent):
693         (WebCore::StorageEvent::initStorageEvent):
694         * storage/StorageEvent.h:
695         (WebCore::StorageEvent::uri):
696         * storage/StorageEvent.idl:
697         * storage/StorageEventDispatcher.cpp:
698         (WebCore::StorageEventDispatcher::dispatch):
699
700 2009-10-19  Adam Barth  <abarth@webkit.org>
701
702         Reviewed by Eric Seidel.
703
704         Remove ResourceLoadNotifier::activeDocumentLoader
705         https://bugs.webkit.org/show_bug.cgi?id=30533
706
707         Removing this method from ResourceLoadNotifier better decouples the
708         notifier from FrameLoader.
709
710         * loader/FrameLoader.cpp:
711         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
712         (WebCore::FrameLoader::requestFromDelegate):
713         * loader/ResourceLoadNotifier.cpp:
714         (WebCore::ResourceLoadNotifier::didReceiveResponse):
715         * loader/ResourceLoadNotifier.h:
716         * loader/ResourceLoader.cpp:
717         (WebCore::ResourceLoader::willSendRequest):
718
719 2009-10-19  Adam Barth  <abarth@webkit.org>
720
721         Reviewed by Eric Seidel.
722
723         Move sendRemainingDelegateMessages to ResourceLoadNotifier
724         https://bugs.webkit.org/show_bug.cgi?id=30531
725
726         This method is about notifying folks and doesn't interact with the rest
727         of FrameLoader.
728
729         * loader/FrameLoader.cpp:
730         (WebCore::FrameLoader::willLoadMediaElementURL):
731         (WebCore::FrameLoader::commitProvisionalLoad):
732         (WebCore::FrameLoader::loadResourceSynchronously):
733         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
734         * loader/FrameLoader.h:
735         * loader/ResourceLoadNotifier.cpp:
736         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
737         * loader/ResourceLoadNotifier.h:
738
739 2009-10-19  Adam Barth  <abarth@webkit.org>
740
741         Reviewed by Eric Seidel.
742
743         Bypass popup blocker using click event
744         https://bugs.webkit.org/show_bug.cgi?id=21501
745
746         Keep track of which events were generated by JavaScript and use that
747         inforation when figuring out if we're processing a user gesture.
748
749         Test: http/tests/security/popup-blocked-from-fake-event.html
750
751         * bindings/js/ScriptController.cpp:
752         (WebCore::ScriptController::processingUserGestureEvent):
753         * bindings/v8/ScriptController.cpp:
754         (WebCore::ScriptController::processingUserGesture):
755         * dom/Document.cpp:
756         (WebCore::Document::createEvent):
757         * dom/Event.cpp:
758         (WebCore::Event::Event):
759         * dom/Event.h:
760         (WebCore::Event::createdByDOM):
761         (WebCore::Event::setCreatedByDOM):
762
763 2009-10-19  Dumitru Daniliuc  <dumi@chromium.org>
764
765         Reviewed by Darin Adler.
766
767         Fixing a typo.
768
769         https://bugs.webkit.org/show_bug.cgi?id=30543
770
771         * platform/sql/SQLiteDatabase.h:
772
773 2009-10-19  Dmitry Titov  <dimich@chromium.org>
774
775         Reviewed by Darin Adler.
776
777         Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame.
778         https://bugs.webkit.org/show_bug.cgi?id=30544
779
780         * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added.
781
782 2009-10-19  Simon Fraser  <simon.fraser@apple.com>
783
784         Reviewed by Darin Adler.
785
786         Flash at end of opacity/transform transition sometimes
787         https://bugs.webkit.org/show_bug.cgi?id=30501
788         
789         When a transition finishes, there window of time between when the animation is
790         removed, and the final style set on the GraphicsLayer. This caused the layer to revert
791         to its old appearance for one or two frames. To avoid this, we set the final
792         transform or opacity at the start of the transition; we know that the animation
793         will override the final value for as long as its running.
794         
795         No test because this is a very transient effect that can't be captured
796         in a test.
797
798         * rendering/RenderLayerBacking.cpp:
799         (WebCore::RenderLayerBacking::createGraphicsLayer):
800         (WebCore::RenderLayerBacking::updateLayerOpacity):
801         (WebCore::RenderLayerBacking::updateLayerTransform):
802         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
803         (WebCore::RenderLayerBacking::startTransition):
804         * rendering/RenderLayerBacking.h:
805
806 2009-10-19  Pavel Feldman  <pfeldman@chromium.org>
807
808         Reviewed by Timothy Hatcher.
809
810         Web Inspector: Add more stop characters into console completions.
811
812         https://bugs.webkit.org/show_bug.cgi?id=30477
813
814         * inspector/front-end/ConsoleView.js:
815         (WebInspector.ConsoleView.prototype.completions):
816         (WebInspector.ConsoleView.prototype._reportCompletions):
817
818 2009-10-19  Marshall Culpepper  <mculpepper@appcelerator.com>
819
820         Reviewed by Adam Roben.
821
822         implemented ClipboardWin::files()
823         https://bugs.webkit.org/show_bug.cgi?id=29666
824
825         * platform/win/ClipboardWin.cpp:
826         (WebCore::ClipboardWin::files):
827
828 2009-10-19  Nate Chapin  <japhet@chromium.org>
829
830         Reviewed by Alexey Proskuryakov.
831
832         Add support for link relations in HTMLAnchorElement and implement rel="noreferrer".
833
834         https://bugs.webkit.org/show_bug.cgi?id=28986
835
836         Tests: http/tests/navigation/no-referrer-reset.html
837                http/tests/navigation/no-referrer-same-window.html
838                http/tests/navigation/no-referrer-subframe.html
839                http/tests/navigation/no-referrer-target-blank.html
840
841         * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol
842         * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer
843         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
844         (WebCore::HTMLAnchorElement::defaultEventHandler):
845         (WebCore::HTMLAnchorElement::parseMappedAttribute):
846         (WebCore::HTMLAnchorElement::hasRel):
847         (WebCore::HTMLAnchorElement::setRel):
848         * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer
849         * loader/FrameLoader.cpp:
850         (WebCore::FrameLoader::FrameLoader):
851         (WebCore::FrameLoader::createWindow):
852         (WebCore::FrameLoader::changeLocation):
853         (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy
854         (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy
855         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy
856         * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes
857         * loader/FrameLoaderTypes.h: Add enum for referrer policy
858         * loader/RedirectScheduler.cpp:
859         (WebCore::RedirectScheduler::timerFired):
860         * page/ContextMenuController.cpp:
861         (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected()
862         * svg/SVGAElement.cpp:
863         (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected()
864
865
866 2009-10-19  Alpha Lam  <hclam@chromium.org>
867
868         Reviewed by Dimitri Glazkov (dglazkov@chromium.org).
869
870         [v8] typeof(HTMLMediaElement) should return undefined if media
871         engine is not available
872         https://bugs.webkit.org/show_bug.cgi?id=30343
873
874         Check for availability of the media engine to disable
875         HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError
876         in runtime.
877
878         Try runs and review in Chromium:
879         http://codereview.chromium.org/276011
880
881         Test: manual-tests/chromium/media-player-not-available.html
882
883         The above test can work work in Chromium. Testing procedures:
884         1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries)
885         2. Open Chromium with above test page
886         3. Verify the test results according to the test page
887
888         * bindings/v8/custom/V8CustomBinding.h:
889         Declare enabler methods.
890         * bindings/v8/custom/V8DOMWindowCustom.cpp:
891         Report enabled only if media player is available.
892         * manual-tests/chromium/media-player-not-available.html: Added.
893         Manual test, following instruction in this test for procedures.
894         * page/DOMWindow.idl:
895         Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError
896         as enabled at runtime.
897
898 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
899
900         Reviewed by David Hyatt.
901
902         Refactor out some of the code in paint() into paintPanScrollIcon()
903         and paintScrollbars() in preparation of some Qt API changes.
904
905         * platform/ScrollView.cpp:
906         (WebCore::ScrollView::paint):
907         * platform/ScrollView.h:
908
909 2009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
910
911         Reviewed by Adam Roben.
912
913         Make the local static panScrollIcon into a Image* instead
914         of a RefPtr<Image>.
915
916         * platform/ScrollView.cpp:
917         (WebCore::ScrollView::wheelEvent):
918
919 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
920
921         Reviewed by David Levin.
922
923         Forcefully set antialiasing for Chromium media controls.
924
925         https://bugs.webkit.org/show_bug.cgi?id=30521
926
927         Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext.
928
929         Covered by existing layout tests.
930
931         * rendering/RenderMediaControlsChromium.cpp:
932         (WebCore::paintMediaSlider): Added setShouldAntialias(true).
933
934 2009-10-19  Jens Alfke  <jens@mooseyard.com>
935
936         Reviewed by Darin Adler.
937
938         Optimize string upper/lowercasing
939         https://bugs.webkit.org/show_bug.cgi?id=30261
940         
941         - Added AtomicString::upper() and lower()
942         - Further optimized StringImpl::lower()
943         - Removed StringImpl::isLower()
944         - Added QualifiedName::localNameUpper(), which is cached, thereby saving
945           thousands of upper() calls and string allocations.
946  
947          * dom/Element.cpp:
948          (WebCore::Element::setAttribute): Call AtomicString::lower()
949          * dom/QualifiedName.cpp:
950          (WebCore::QualifiedName::localNameUpper): New method
951          * dom/QualifiedName.h: Added localNameUpper() method
952          * dom/StyledElement.cpp:
953          (WebCore::StyledElement::parseMappedAttribute):  Call AtomicString::lower()
954          * html/HTMLDocument.cpp:
955          (WebCore::HTMLDocument::createElement): Call AtomicString::lower()
956          * html/HTMLElement.cpp:
957          (WebCore::HTMLElement::nodeName): Call localNameUpper()
958          * platform/text/AtomicString.cpp:
959          (WebCore::AtomicString::lower): New method
960          (WebCore::AtomicString::upper): New method
961          * platform/text/AtomicString.h: Added lower() and upper()
962          * platform/text/StringImpl.cpp: Removed isLower()
963          (WebCore::StringImpl::lower): Further optimization of initial loop
964          * platform/text/StringImpl.h: Removed isLower()
965  
966 2009-10-19  Nate Chapin  <japhet@chromium.org>
967
968         Reviewed by Adam Barth.
969
970         If a call to a plugin's invokeMethod, invokeDefault or construct
971         returns false, throw an exception into JS.        
972
973         https://bugs.webkit.org/show_bug.cgi?id=30239
974
975         Test: plugins/netscape-invoke-failure.html
976
977         * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct.
978         (npObjectInvokeImpl):
979         * bridge/c/c_instance.cpp:
980         (JSC::Bindings::CInstance::invokeMethod): Check return value
981         (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value
982         (JSC::Bindings::CInstance::invokeConstruct): Check return value
983
984 2009-10-16  Stephen White  <senorblanco@chromium.org>
985
986         Reviewed by Adam Barth.
987
988         Fix for chromium/skia canvas arc start/end positions, when the arc is
989         >= 360 degrees.
990         https://bugs.webkit.org/show_bug.cgi?id=30449
991
992         Covered by new test:
993         LayoutTests/fast/canvas/arc360.html
994
995         * platform/graphics/skia/PathSkia.cpp:
996         (WebCore::Path::addArc):
997
998 2009-10-19  Kent Tamura  <tkent@chromium.org>
999
1000         Reviewed by Alexey Proskuryakov.
1001
1002         Fix uninitialized variable reference in Element::removeAttribute().
1003         https://bugs.webkit.org/show_bug.cgi?id=30502
1004
1005         * dom/Element.cpp:
1006         (WebCore::Element::removeAttribute):
1007
1008 2009-10-19  Eric Carlson  <eric.carlson@apple.com>
1009
1010         Reviewed by Simon Fraser.
1011
1012         https://bugs.webkit.org/show_bug.cgi?id=30463
1013         Remove HTML5 media element 'loadend' event
1014
1015         * dom/EventNames.h:
1016         * html/HTMLMediaElement.cpp:
1017         (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'.
1018         (WebCore::HTMLMediaElement::loadInternal): Ditto.
1019         (WebCore::HTMLMediaElement::noneSupported): Ditto.
1020         (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
1021         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
1022         (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
1023
1024 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1025
1026         Reviewed by Adam Barth.
1027
1028         [Qt] Remove deletion of outgoing FormData object when reply is finished.
1029         The buffers will be destroyed a bit later, when the QNetworkReply is deleted.
1030         Bug: https://bugs.webkit.org/show_bug.cgi?id=29551
1031
1032         * platform/network/qt/QNetworkReplyHandler.cpp:
1033         * platform/network/qt/QNetworkReplyHandler.h:
1034
1035 2009-10-19  Dimitri Glazkov  <dglazkov@chromium.org>
1036
1037         Reviewed by Darin Adler.
1038
1039         Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare
1040         fastRealloc edge case.
1041         https://bugs.webkit.org/show_bug.cgi?id=29313
1042
1043         No test, the crash shows up occasionally in crash dumps, we weren't able
1044         to reproduce it locally.
1045
1046         * html/HTMLTokenizer.cpp:
1047         (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to
1048             avoid calling fastRealloc with the size of 0.
1049
1050 2009-10-19  Andrew Scherkus  <scherkus@chromium.org>
1051
1052         Reviewed by Eric Seidel.
1053
1054         Use fillRect() instead of drawRect() to fix Chromium media controls rendering.
1055
1056         https://bugs.webkit.org/show_bug.cgi?id=30371
1057
1058         Chromium Mac layout tests will need to be rebaselined.  Existing layout tests for Linux/Win still pass.
1059
1060         * rendering/RenderMediaControlsChromium.cpp:
1061         (WebCore::paintMediaSlider): Use fillRect() instead of drawRect().
1062
1063 2009-10-19  Dmitry Titov  <dimich@chromium.org>
1064
1065         Reviewed by Adam Barth.
1066
1067         Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
1068         https://bugs.webkit.org/show_bug.cgi?id=29832
1069
1070         Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
1071         This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
1072
1073         I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
1074
1075         * page/Frame.cpp:
1076         (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
1077
1078 2009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
1079
1080         Unreviewed build warning fix.
1081         [Qt] Apply changes to WebCore.pro introduced in r49778
1082
1083         * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS
1084
1085 2009-10-19  Dirk Schulze  <krit@webkit.org>
1086
1087         Reviewed by Darin Adler.
1088
1089         Move feGaussianBlur from WebCore/svg to WebCore/platform
1090         [https://bugs.webkit.org/show_bug.cgi?id=30495]
1091
1092         This patch moves SVGFRGaussianBlur from svg/graphics/filters
1093         to platform/graphics/filters/FEGaussianBlur. This is needed
1094         for shadow support on Qt and Cairo.
1095         No change in functionality, therfore no new test case needed.
1096
1097         * GNUmakefile.am:
1098         * WebCore.gypi:
1099         * WebCore.pro:
1100         * WebCore.vcproj/WebCore.vcproj:
1101         * WebCore.xcodeproj/project.pbxproj:
1102         * platform/graphics/filters/FEGaussianBlur.cpp: Added.
1103         * platform/graphics/filters/FEGaussianBlur.h: Added.
1104         * svg/SVGFEGaussianBlurElement.h:
1105         * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed.
1106         * svg/graphics/filters/SVGFEGaussianBlur.h: Removed.
1107
1108 2009-10-19  Yael Aharon  <yael.aharon@nokia.com>
1109
1110         Unreviewed.
1111
1112         Added reviewer name to r49574.
1113
1114 2009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1115
1116         Reviewed by Xan Lopez.
1117
1118         https://bugs.webkit.org/show_bug.cgi?id=30489
1119         [Gtk] The document frame/html container claims to be parentless
1120
1121         Work around for the parentless claim made by the accessible associated
1122         with the embedded WebView. When we identify this condition, get the
1123         widget's parent, and then get the AtkObject from that. Admittedly an ugly
1124         hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
1125         plan to switch over to WebKit.
1126
1127         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1128         (webkit_accessible_get_parent):
1129
1130 2009-10-19  Benjamin Otte  <otte@gnome.org>
1131
1132         Reviewed by Jan Alonzo.
1133
1134         Handle duration queries properly
1135         https://bugs.webkit.org/show_bug.cgi?id=29999
1136
1137         Previously duration queries failed to handle unknown duration
1138         and didn't treat the returned duration as an unsigned.
1139
1140         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1141         (WebCore::MediaPlayerPrivate::duration):
1142
1143 2009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1144
1145         Reviewed by Tor Arne Vestbø.
1146
1147         [Qt] Fix build on Windows.
1148
1149         * plugins/win/PluginViewWin.cpp:
1150         (windowHandleForPageClient):
1151
1152 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
1153
1154         Reviewed by Holger Freyther.
1155
1156         [Qt] Windowed Plugins: Don't crash when client is 0.
1157         
1158         Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
1159         In addition, setFrameRect()/updatePluginWidget() is called even if the
1160         plugin was not succesfully loaded. updatePluginWidget() updates the
1161         window rect which is, in theory, useful to draw something that indicates
1162         that we didn't load successfully.
1163         
1164         So, a status check is added to setNPWindowIfNeeded.
1165
1166         https://bugs.webkit.org/show_bug.cgi?id=30380
1167
1168         * plugins/qt/PluginViewQt.cpp:
1169         (WebCore::PluginView::setNPWindowIfNeeded):
1170         (WebCore::PluginView::platformStart):
1171
1172 2009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
1173
1174         Reviewed by Holger Freyther.
1175
1176         [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
1177         
1178         Fixes various sources of crashes:
1179         1. The PluginContainer is a child of QWebView. When the view gets deleted,
1180         the PluginView is not notified about the deletion of PluginContainer.
1181         2. QWebView destructor does not set client to 0.
1182         3. Sometimes pending paint events are sent after the plugin has died, so add
1183         a check in PluginView::setNPWindowIfNeeded.
1184
1185         https://bugs.webkit.org/show_bug.cgi?id=30354
1186
1187         * plugins/qt/PluginContainerQt.cpp:
1188         (PluginContainerQt::~PluginContainerQt):
1189         * plugins/qt/PluginViewQt.cpp:
1190         (WebCore::PluginView::setNPWindowIfNeeded):
1191
1192 2009-10-19  Jakob Truelsen  <antialize@gmail.com>
1193
1194         Reviewed by Adam Barth.
1195
1196         https://bugs.webkit.org/show_bug.cgi?id=29042
1197         Allow one to customize the minimal and maximal shrink factors used when printing.
1198
1199         * page/PrintContext.cpp:
1200         (WebCore::PrintContext::begin):
1201         * page/Settings.cpp:
1202         (WebCore::Settings::Settings):
1203         (WebCore::Settings::setPrintingMinimumShrinkFactor):
1204         (WebCore::Settings::setPrintingMaximumShrinkFactor):
1205         * page/Settings.h:
1206         (WebCore::Settings::printingMinimumShrinkFactor):
1207         (WebCore::Settings::printingMaximumShrinkFactor):
1208
1209 2009-10-18  Erik Arvidsson  <arv@chromium.org>
1210
1211         Reviewed by Adam Barth.
1212
1213         Fixes issue where doubleclicking a word could select following adjacent newlines.
1214         https://bugs.webkit.org/show_bug.cgi?id=30234
1215
1216         Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html
1217                platform/mac/editing/selection/script-tests/TEMPLATE.html
1218                platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
1219                platform/win/editing/selection/script-tests/TEMPLATE.html
1220
1221         * editing/VisibleSelection.cpp:
1222         (WebCore::VisibleSelection::appendTrailingWhitespace):
1223
1224 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
1225
1226         CURL build fix, use proper header name.
1227
1228         * platform/network/curl/ResourceHandleManager.h:
1229
1230 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
1231
1232         Reviewed by Timothy Hatcher.
1233
1234         Web Inspector: Properties on Arrays and NodeLists are not logged correctly.
1235
1236         https://bugs.webkit.org/show_bug.cgi?id=30485
1237
1238         * inspector/front-end/ConsoleView.js:
1239         (WebInspector.ConsoleView.prototype._formatarray):
1240         (WebInspector.ConsoleView.prototype._printArray):
1241
1242 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
1243
1244         Not reviewed: touching WebCore so that it
1245         initiated inspector frontend deployment on Windows.
1246
1247         Web Inspector: frontend files are not deployed in Windows
1248         incremental build.
1249
1250         * inspector/InspectorDOMAgent.cpp:
1251         (WebCore::InspectorDOMAgent::unbind):
1252
1253 2009-10-18  Pavel Feldman  <pfeldman@chromium.org>
1254
1255         Reviewed by Timothy Hatcher.
1256
1257         Web Inspector: Title of dir(["test", "test2"]) should be Array
1258
1259         https://bugs.webkit.org/show_bug.cgi?id=30486
1260
1261         Test: inspector/console-tests.html
1262
1263         * inspector/front-end/InjectedScript.js:
1264
1265 2009-10-18  Dirk Schulze  <krit@webkit.org>
1266
1267         Reviewed by Nikolas Zimmermann.
1268
1269         REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox"
1270         [https://bugs.webkit.org/show_bug.cgi?id=30480]
1271
1272         Patch for SVGMaskElement landed in r49598 should correct the location of
1273         the mask image graphics context. It only corrects the location for userSpaceOnUse
1274         mode in maskContentUnits but breaks objectBoundingBoxMode.
1275         The maskDestRect shouldn't be moved. It is not responsible for the correct context
1276         postioin but for the correct position of the mask image.
1277         This patch calculates the context postion independently from the maskDestRect.
1278         It also uses lineareRGB color space for masking on CG now. This is the default
1279         color space for masking operations.
1280         We already have tests for both maskContentUnits modes.
1281
1282             *svg/W3C-SVG-1.1/masking-intro-01-f.svg
1283             *svg/custom/mask-with-default-value.svg
1284
1285         Some tests needed new pixel tests because of the new color space.
1286
1287         * svg/SVGMaskElement.cpp:
1288         (WebCore::SVGMaskElement::drawMaskerContent):
1289
1290 2009-10-18  Anton Muhin  <antonm@chromium.org>
1291
1292         Reviewed by Adam Barth.
1293
1294         Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers.
1295         That is notably faster for small numbers (most common case).
1296         https://bugs.webkit.org/show_bug.cgi?id=30493
1297
1298         * bindings/scripts/CodeGeneratorV8.pm:
1299
1300 2009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
1301
1302         Reviewed by Holger Freyther.
1303
1304         [GTK] Add MathML to the build system
1305         https://bugs.webkit.org/show_bug.cgi?id=30487
1306
1307         Add MathML sources if MathML support is enabled.
1308
1309         * GNUmakefile.am:
1310
1311 2009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
1312
1313         Non-PCH build fix. Added missing header.
1314
1315         * bridge/runtime_root.h:
1316
1317 2009-10-18  Simon Fraser  <simon.fraser@apple.com>
1318
1319         Reviewed by Dan Bernstein.
1320
1321         Compositing layers not correctly updated after partial layout
1322         https://bugs.webkit.org/show_bug.cgi?id=30425
1323         
1324         When a partial layout happened, for example as the result of a postion-change-only
1325         layout, then some compositing layer positions were not correctly updated. To fix
1326         this, updateLayerPositions() now carries along a flag that is set at the rootmost
1327         layer being updated, and used to determine when we hit the first compositing layer
1328         in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
1329         to do a full geometry update on that layer, which is thus the rootmost compositing
1330         layer that is being updated.
1331
1332         Test: compositing/geometry/partial-layout-update.html
1333
1334         * page/FrameView.cpp:
1335         (WebCore::FrameView::layout):
1336         * rendering/RenderLayer.cpp:
1337         (WebCore::RenderLayer::updateLayerPositions):
1338         (WebCore::RenderLayer::scrollToOffset):
1339         * rendering/RenderLayer.h:
1340         (WebCore::RenderLayer::):
1341         * rendering/RenderLayerBacking.cpp:
1342         (WebCore::RenderLayerBacking::updateAfterLayout):
1343         * rendering/RenderLayerBacking.h:
1344
1345 2009-09-13  Kevin Watters  <kevinwatters@gmail.com>
1346
1347         Reviewed by Kevin Ollivier.
1348
1349         Add support for proxies in CURL.
1350  
1351         https://bugs.webkit.org/show_bug.cgi?id=30446
1352
1353         * platform/network/curl/ResourceHandleManager.cpp:
1354         (WebCore::ResourceHandleManager::setProxyInfo):
1355         (WebCore::ResourceHandleManager::initializeHandle):
1356         * platform/network/curl/ResourceHandleManager.h:
1357         (WebCore::ResourceHandleManager::):
1358
1359 2009-10-18  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1360
1361         Reviewed by Xan Lopez
1362
1363         https://bugs.webkit.org/show_bug.cgi?id=25901
1364         Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag
1365
1366         Replaces the use of ATK_ROLE_PANEL with the expected accessible roles.
1367
1368         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1369         (webkit_accessible_get_role):
1370
1371 2009-10-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1372
1373         Reviewed by George Staikos.
1374
1375         Cleanup SVGElement code, preparing for animVal support
1376         https://bugs.webkit.org/show_bug.cgi?id=30466
1377
1378         Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization
1379         from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will
1380         be used to control the start/end state of an animated property.
1381
1382         We're currently tracking animated properties that need synchronization, generalize this concept and use
1383         it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need
1384         of synchronization (no SVG DOM object wrappers, no synchronization needed).
1385
1386         No change in functionality, thus no tests.
1387
1388         * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build
1389         * WebCore.gypi: Ditto.
1390         * WebCore.pro: Ditto.
1391         * WebCore.vcproj/WebCore.vcproj: Ditto.
1392         * WebCore.xcodeproj/project.pbxproj: Ditto.
1393         * svg/SVGAllInOne.cpp: Ditto.
1394         * svg/SVGAnimatedProperty.h: Add registerProperty() function 
1395         (WebCore::::SVGAnimatedProperty): Call registerProperty() function  
1396         (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController.
1397         * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement.
1398         (WebCore::lookupOrCreateWrapper):
1399         * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController.
1400         (WebCore::SVGElement::updateAnimatedSVGAttribute):
1401         * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController.
1402         (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object.
1403         * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes.
1404         (WebCore::SVGViewSpec::SVGViewSpec):
1405         (WebCore::SVGViewSpec::viewTarget):
1406         * svg/SVGViewSpec.h: Ditto.
1407         (WebCore::SVGViewSpec::contextElement):
1408         * svg/SynchronizablePropertyController.cpp: Added.
1409         (WebCore::SynchronizablePropertyController::SynchronizablePropertyController):
1410         (WebCore::SynchronizablePropertyController::registerProperty):
1411         (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
1412         (WebCore::SynchronizablePropertyController::synchronizeProperty):
1413         (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
1414         (WebCore::SynchronizablePropertyController::startAnimation):
1415         (WebCore::SynchronizablePropertyController::stopAnimation):
1416         * svg/SynchronizablePropertyController.h: Added.
1417         (WebCore::SynchronizableProperty::SynchronizableProperty):
1418         (WebCore::SynchronizableProperty::isHashTableDeletedValue):
1419         (WebCore::SynchronizableProperty::operator==):
1420         (WebCore::SynchronizablePropertyHash::hash):
1421         (WebCore::SynchronizablePropertyHash::equal):
1422         (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue):
1423         (WebCore::SynchronizablePropertyHashTraits::isDeletedValue):
1424
1425 2009-10-17  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1426
1427         Reviewed by Xan Lopez.
1428
1429         https://bugs.webkit.org/show_bug.cgi?id=25413
1430         [GTK] Please expose the level of headings
1431
1432         Exposes the heading level as an attribute of the AtkObject.
1433
1434         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1435         (addAttributeToSet):
1436         (webkit_accessible_get_attributes):
1437         (webkit_accessible_class_init):
1438
1439 2009-10-17  Kwang Yul Seo  <skyul@company100.net>
1440
1441         Reviewed by Eric Seidel.
1442
1443         EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards
1444         https://bugs.webkit.org/show_bug.cgi?id=30472
1445
1446         Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged
1447         in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled.
1448
1449         * page/EventHandler.cpp:
1450
1451 2009-10-17  Alpha Lam  <hclam@chromium.org>
1452
1453         Reviewed by Eric Seidel.
1454
1455         [chromium] Video controls not zoomed / transformed correctly
1456         https://bugs.webkit.org/show_bug.cgi?id=30461
1457
1458         Draw the images in the controls scaled.
1459
1460         No new tests. With this change Chromium will pass the following tests:
1461         LayoutTests/media/video-controls-zoomed.html
1462         LayoutTests/media/video-controls-transformed.html
1463
1464         * rendering/RenderMediaControlsChromium.cpp:
1465         (WebCore::paintMediaButton):
1466         Pass along the target rect directly.
1467         (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
1468         Adjust the thumb slide applied with the scale factor.
1469
1470 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1471
1472         Unreviewed.
1473
1474         [Gtk] Build fix for WebKitGtk after r49723.
1475
1476         Add bindings/js/JSExceptionBase.* to the build.
1477
1478         * GNUmakefile.am:
1479
1480 2009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1481
1482         Unreviewed.
1483
1484         [Qt] Build fix for QtWebKit after r49723.
1485
1486         Add bindings/js/JSExceptionBase.cpp to the build.
1487
1488         * WebCore.pro:
1489
1490 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
1491
1492         Reviewed by Dan Bernstein.
1493
1494         https://bugs.webkit.org/show_bug.cgi?id=30456
1495         Fixes for new Debug_All Windows build configuration.
1496
1497         * platform/network/cf/ResourceRequestCFNet.cpp:
1498         (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing.
1499         * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
1500         * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming.
1501         * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
1502
1503 2009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
1504
1505         Add SPI to determine whether a plug-in has ever been halted.
1506
1507         Part of <rdar://problem/7312158>.
1508
1509         Reviewed by Dan Bernstein.
1510
1511         * plugins/PluginView.cpp:
1512         (WebCore::PluginView::PluginView):
1513         Initialize m_hasBeenHalted.
1514
1515         * plugins/PluginView.h:
1516         (WebCore::PluginView::hasBeenHalted):
1517         Return m_hasBeenHalted.
1518
1519         * plugins/win/PluginViewWin.cpp:
1520         (WebCore::PluginView::halt):
1521         Set m_hasBeenHalted.
1522
1523 2009-10-16  Adam Barth  <abarth@webkit.org>
1524
1525         Reviewed by Alexey Proskuryakov.
1526
1527         @charset rule after the first byte causes the rest of css to be ignored
1528         https://bugs.webkit.org/show_bug.cgi?id=18265
1529
1530         Apparently we're supposed to tolerate whitespace before the charset
1531         rule so folks can write code like this:
1532
1533         <style>
1534         @charset "utf-8"
1535         ...
1536         </style>
1537
1538         I'm told this is one of the top compatability problems in China.
1539         Tests: fast/css/comment-before-charset-external.html
1540                fast/css/comment-before-charset.html
1541                fast/css/many-spaces-before-charset.html
1542                fast/css/space-before-charset-external.html
1543                fast/css/space-before-charset.html
1544
1545         * css/CSSGrammar.y:
1546
1547 2009-10-16  Brian Weinstein  <bweinstein@apple.com>
1548
1549         Reviewed by Darin Adler.
1550
1551         Fixes part of <http://webkit.org/b/30412>.
1552         Web Inspector should get human readable DOM Exceptions.
1553
1554         Add a description field to ExceptionBase, and call it through 
1555         reportException which allows the user/developer to get a more detailed
1556         and coherent error explanation through the Web Inspector.
1557
1558         This only applies to exceptions that come from a script on the page when
1559         it is run. DOM Exceptions that come from the code run in the console, or DOM
1560         exceptions that are caught and logged will come in a future patch.
1561
1562         Tests: inspector/uncaught-dom1-exception.html
1563                inspector/uncaught-dom3-exception.html
1564                inspector/uncaught-dom8-exception.html
1565
1566         * WebCore.gypi:
1567         * WebCore.vcproj/WebCore.vcproj:
1568         * WebCore.xcodeproj/project.pbxproj:
1569         * bindings/js/JSDOMBinding.cpp:
1570         (WebCore::reportException):
1571         * bindings/js/JSExceptionBase.cpp: Added.
1572         (WebCore::toExceptionBase):
1573         * bindings/js/JSExceptionBase.h: Added.
1574         * dom/ExceptionBase.cpp:
1575         (WebCore::ExceptionBase::ExceptionBase):
1576         * dom/ExceptionBase.h:
1577         (WebCore::ExceptionBase::description):
1578         * dom/ExceptionCode.cpp:
1579         (WebCore::):
1580         (WebCore::getExceptionCodeDescription):
1581         * dom/ExceptionCode.h:
1582
1583 2009-10-16  Geoffrey Garen  <ggaren@apple.com>
1584
1585         Build fix: forgot to check in this #include.
1586
1587         * bridge/runtime_root.h:
1588
1589 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
1590
1591         Reviewed by Dan Bernstein.
1592
1593         Transform layer gets stuck with the wrong transform after an animation ends
1594         <rdar://problem/7311662>
1595
1596         Work around a CoreAnimation bug which causes an animated transform layer to
1597         end up with a stale transform.
1598         
1599         Test: compositing/animation/state-at-end-event-transform-layer.html
1600
1601         * platform/graphics/mac/GraphicsLayerCA.mm:
1602         (WebCore::bug7311367Workaround):
1603         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
1604
1605 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
1606
1607         Reviewed by Dan Bernstein.
1608
1609         After running a transition with an end event listener, can't change the transform
1610         https://bugs.webkit.org/show_bug.cgi?id=30454
1611         
1612         Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
1613         the animations would not get cleaned up correctly, which broke subsequent changes of transform.
1614         
1615         Now, we always clean up the animations right after queuing up the end events.
1616
1617         Tests: animations/state-at-end-event.html
1618                transitions/move-after-transition.html
1619
1620         * page/animation/ImplicitAnimation.cpp:
1621         (WebCore::ImplicitAnimation::onAnimationEnd):
1622         * page/animation/KeyframeAnimation.cpp:
1623         (WebCore::KeyframeAnimation::onAnimationEnd):
1624
1625 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
1626
1627         Reviewed by Timothy Hatcher.
1628
1629         Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
1630         https://bugs.webkit.org/show_bug.cgi?id=30428
1631
1632         TextNode => Edit Text Node
1633         Has Attributes => Edit First Attribute
1634         No Attributes => Start Editing New Attribute
1635
1636         * inspector/front-end/ElementsTreeOutline.js:
1637         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
1638         (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
1639         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
1640         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
1641         (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
1642
1643 2009-10-16  Adam Barth  <abarth@webkit.org>
1644
1645         Reviewed by Eric Seidel.
1646
1647         Fix header indent style for FrameLoader and friends
1648         https://bugs.webkit.org/show_bug.cgi?id=30430
1649
1650         * loader/FrameLoader.h:
1651         (WebCore::FrameLoader::frame):
1652         (WebCore::FrameLoader::policyChecker):
1653         (WebCore::FrameLoader::history):
1654         (WebCore::FrameLoader::notifier):
1655         (WebCore::FrameLoader::isLoadingMainResource):
1656         (WebCore::FrameLoader::documentLoader):
1657         (WebCore::FrameLoader::policyDocumentLoader):
1658         (WebCore::FrameLoader::provisionalDocumentLoader):
1659         (WebCore::FrameLoader::state):
1660         (WebCore::FrameLoader::client):
1661         (WebCore::FrameLoader::url):
1662         (WebCore::FrameLoader::isLoadingFromCachedPage):
1663         (WebCore::FrameLoader::committingFirstRealLoad):
1664         (WebCore::FrameLoader::committedFirstRealDocumentLoad):
1665         (WebCore::FrameLoader::creatingInitialEmptyDocument):
1666         * loader/HistoryController.h:
1667         (WebCore::HistoryController::currentItem):
1668         (WebCore::HistoryController::provisionalItem):
1669         * loader/PolicyCallback.h:
1670         (WebCore::PolicyCallback::request):
1671         * loader/PolicyChecker.h:
1672         (WebCore::PolicyChecker::loadType):
1673         (WebCore::PolicyChecker::setLoadType):
1674         (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
1675         (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
1676         * loader/RedirectScheduler.h:
1677         * loader/ResourceLoadNotifier.h:
1678
1679 2009-10-16  Steve Falkenburg  <sfalken@apple.com>
1680
1681         Reviewed by Adam Roben.
1682
1683         Add a Debug_All configuration to build entire stack as debug.
1684         Change Debug_Internal to:
1685         - stop using _debug suffix for all WebKit/Safari binaries
1686         - not use _debug as a DLL naming suffix
1687         - use non-debug C runtime lib.
1688
1689         * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
1690         * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
1691         * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
1692         * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
1693         * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
1694         * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
1695
1696 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
1697
1698         No review, rolling out r49693, because it broke Chromium build.
1699         http://trac.webkit.org/changeset/49693
1700
1701         * WebCore.gyp/WebCore.gyp:
1702         * WebCore.gypi:
1703
1704 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
1705
1706         Reviewed by Eric Carlson.
1707
1708         Updated media resource selection algorithm to reflect latest HTML 5 specification.
1709
1710         Noticable changes:
1711             -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
1712             -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
1713
1714         Tests: media/video-src-empty.html
1715                media/video-src-none.html
1716
1717         https://bugs.webkit.org/show_bug.cgi?id=30407
1718
1719         * html/HTMLMediaElement.cpp:
1720         (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
1721
1722 2009-10-16  Adam Barth  <abarth@webkit.org>
1723
1724         Reviewed by Eric Seidel.
1725
1726         Insecure plug-ins don't trigger mixed content
1727         https://bugs.webkit.org/show_bug.cgi?id=30431
1728
1729         Added the missing check.
1730
1731         Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
1732
1733         * loader/FrameLoader.cpp:
1734         (WebCore::FrameLoader::loadPlugin):
1735
1736 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
1737
1738         Reviewed by Eric Carlson.
1739
1740         Set autobuffer to true and schedule load in V8 audio element constructor.
1741
1742         https://bugs.webkit.org/show_bug.cgi?id=30448
1743
1744         Covered by existing tests.
1745
1746         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1747         (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
1748
1749 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
1750
1751         Reviewed by Eric Seidel.
1752
1753         Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
1754
1755         https://bugs.webkit.org/show_bug.cgi?id=30422
1756
1757         Covered by existing media layout tests.
1758
1759         * rendering/RenderMediaControlsChromium.cpp:
1760         (WebCore::paintMediaSlider): Removed round() and FIXME.
1761
1762 2009-10-16  Andrew Scherkus  <scherkus@chromium.org>
1763
1764         Reviewed by Eric Seidel.
1765
1766         Fix Chromium media controls to render a disabled play button when the element is unintialized.
1767
1768         https://bugs.webkit.org/show_bug.cgi?id=30410
1769
1770         Covered by existing layout tests.
1771
1772         * rendering/RenderMediaControlsChromium.cpp:
1773         (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
1774
1775 2009-10-16  Oliver Hunt  <oliver@apple.com>
1776
1777         Reviewed by Gavin Barraclough.
1778
1779         Make typeinfo flags default to false
1780         https://bugs.webkit.org/show_bug.cgi?id=30372
1781
1782         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
1783         flag.
1784
1785         * bindings/js/JSDOMWindowShell.h:
1786         (WebCore::JSDOMWindowShell::createStructure):
1787         * bindings/js/JSHTMLAllCollection.h:
1788         (WebCore::JSHTMLAllCollection::createStructure):
1789         * bindings/js/JSQuarantinedObjectWrapper.h:
1790         (WebCore::JSQuarantinedObjectWrapper::createStructure):
1791         * bindings/scripts/CodeGeneratorJS.pm:
1792         * bridge/runtime_array.h:
1793         (JSC::RuntimeArray::createStructure):
1794         * bridge/runtime_object.h:
1795         (JSC::RuntimeObjectImp::createStructure):
1796
1797 2009-10-16  Steven Knight  <sgk@chromium.org>
1798
1799         Reviewed by David Levin.
1800
1801         https://bugs.webkit.org/show_bug.cgi?id=30447
1802         Handle long link lines by building .idl-generated bindings in a
1803         separate webcore_bindings library target.  Avoid Visual Studio
1804         dependency issues by building additional generated .cpp and .h files
1805         in a separate webcore_bindings_sources target.
1806
1807         Chrome should still build and test successfully.
1808
1809         * WebCore.gyp/WebCore.gyp:
1810         * WebCore.gypi:
1811
1812 2009-10-16  Simon Fraser  <simon.fraser@apple.com>
1813
1814         Reviewed by Eric Carlson.
1815
1816         Transform transitions that used to be accelerated are no longer so
1817         https://bugs.webkit.org/show_bug.cgi?id=30453
1818
1819         The change in r49633, to not run accelerated animations/transitions on layers that
1820         are not attached, broke accelerated transitions/animations in many cases where they start
1821         as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
1822         attached.
1823         
1824         No test, because it's not possible from a test to know whether a transition is accelerated or not.
1825
1826         * rendering/RenderLayerBacking.cpp:
1827         (WebCore::RenderLayerBacking::startAnimation):
1828         (WebCore::RenderLayerBacking::startTransition):
1829
1830 2009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
1831
1832         wxMSW build fix, build the MSW source to get methods that use the MSW version of
1833         PlatformModuleVersion.
1834
1835         * wscript:
1836
1837 2009-10-16  Adam Barth  <abarth@webkit.org>
1838
1839         Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
1840         casing.
1841
1842         * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
1843         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1844         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
1845         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
1846         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
1847         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
1848         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
1849         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
1850         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
1851         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
1852         (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
1853         (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
1854         (WebCore::dummyHashSet):
1855         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
1856         (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
1857         (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
1858         (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
1859         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
1860
1861 2009-10-16  Adam Barth  <abarth@webkit.org>
1862
1863         Reviewed by Darin Adler.
1864
1865         MimeTypeRegistryChromium is mis-casen
1866         https://bugs.webkit.org/show_bug.cgi?id=30441
1867
1868         Change the case of MimeTypeRegistryChromium to match other platforms.
1869
1870         * WebCore.gypi:
1871         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
1872         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
1873
1874 2009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
1875
1876         Reviewed by Eric Seidel.
1877
1878         Change EmptyPluginHalterClient in SVGImage to be non-static, to
1879         match changes made http://trac.webkit.org/changeset/49385.
1880         https://bugs.webkit.org/show_bug.cgi?id=30403
1881
1882         Run the following layout test sequence:
1883           LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
1884           LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
1885           LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
1886           LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
1887           LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
1888           LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
1889           LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
1890           LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
1891           LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
1892           LayoutTests/svg/carto.net/scrollbar.svg
1893           LayoutTests/svg/carto.net/selectionlist.svg
1894
1895         selectionlist.svg should not crash.
1896
1897         * svg/graphics/SVGImage.cpp:
1898         (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
1899
1900 2009-10-16  Victor Wang  <victorw@chromium.org>
1901
1902         Reviewed by David Levin.
1903
1904         Add beforeload event support to V8DOMWrapper
1905
1906         https://bugs.webkit.org/show_bug.cgi?id=30413
1907
1908         LayoutTests/fast/dom/beforeload/frame-before-load.html
1909
1910         * bindings/v8/V8DOMWrapper.cpp:
1911         (WebCore::V8DOMWrapper::convertEventToV8Object):
1912
1913 2009-10-16  Adam Barth  <abarth@webkit.org>
1914
1915         Reviewed by Darin Adler.
1916
1917         MimeTypeRegistryChromium is mis-casen
1918         https://bugs.webkit.org/show_bug.cgi?id=30441
1919
1920         Change the case of MimeTypeRegistryChromium to match other platforms.
1921
1922         * WebCore.gypi:
1923         * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
1924         * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
1925
1926 2009-10-16  Adam Barth  <abarth@webkit.org>
1927
1928         Reviewed by Mark Rowe.
1929
1930         Chrome doesn't set Content-Type for file upload when the file extension
1931         is not recognized
1932         https://bugs.webkit.org/show_bug.cgi?id=30433
1933
1934         Apparently, getMIMETypeForPath is supposed to return
1935         application/octet-stream when it doesn't have a better MIME type.
1936
1937         * platform/chromium/MimeTypeRegistryChromium.cpp:
1938         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
1939
1940 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1941
1942         Pull out r49676 as it caused build breakges on Symbian
1943
1944         * plugins/symbian/PluginViewSymbian.cpp:
1945
1946 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1947
1948         Reviewed by Ariya Hidayat.
1949
1950         Crash fix when loading NPAPI plugins on Qt/Mac
1951
1952         There's no guarantee that the plist will be valid even if we
1953         ask the plugin to create it. Crash obverved with iGetter.
1954
1955         * plugins/mac/PluginPackageMac.cpp:
1956
1957 2009-10-15  Stephen White  <senorblanco@chromium.org>
1958
1959         Reviewed by David Levin.
1960
1961         Fix for Chromium/skia's implementation of canvas's isPointInPath().
1962         https://bugs.webkit.org/show_bug.cgi?id=30402
1963
1964         Covered by LayoutTests/fast/canvas/pointInPath.html.
1965
1966         * platform/graphics/skia/SkiaUtils.cpp:
1967         (WebCore::SkPathContainsPoint):
1968
1969 2009-10-15  Adam Barth  <abarth@webkit.org>
1970
1971         Reviewed by Darin Adler.
1972
1973         Factor ResourceLoadNotifier out of FrameLoader
1974         https://bugs.webkit.org/show_bug.cgi?id=30379
1975
1976         These methods have virtually no interaction with the rest of
1977         FrameLoader.
1978
1979         * GNUmakefile.am:
1980         * WebCore.gypi:
1981         * WebCore.pro:
1982         * WebCore.vcproj/WebCore.vcproj:
1983         * WebCore.xcodeproj/project.pbxproj:
1984         * WebCoreSources.bkl:
1985         * dom/Document.cpp:
1986         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
1987         * loader/FrameLoader.cpp:
1988         (WebCore::FrameLoader::FrameLoader):
1989         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
1990         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
1991         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
1992         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
1993         (WebCore::ResourceLoadNotifier::willSendRequest):
1994         (WebCore::ResourceLoadNotifier::didReceiveResponse):
1995         (WebCore::ResourceLoadNotifier::didReceiveData):
1996         (WebCore::ResourceLoadNotifier::didFailToLoad):
1997         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
1998         (WebCore::FrameLoader::sendRemainingDelegateMessages):
1999         (WebCore::FrameLoader::requestFromDelegate):
2000         (WebCore::ResourceLoadNotifier::didFinishLoad):
2001         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2002         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2003         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2004         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2005         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2006         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2007         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2008         * loader/FrameLoader.h:
2009         (WebCore::FrameLoader::notifier):
2010         * loader/MainResourceLoader.cpp:
2011         (WebCore::MainResourceLoader::receivedError):
2012         * loader/ResourceLoadNotifier.cpp: Added.
2013         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2014         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2015         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2016         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2017         (WebCore::ResourceLoadNotifier::willSendRequest):
2018         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2019         (WebCore::ResourceLoadNotifier::didReceiveData):
2020         (WebCore::ResourceLoadNotifier::didFinishLoad):
2021         (WebCore::ResourceLoadNotifier::didFailToLoad):
2022         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
2023         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2024         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2025         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2026         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2027         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2028         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
2029         * loader/ResourceLoadNotifier.h: Added.
2030         * loader/ResourceLoader.cpp:
2031         (WebCore::ResourceLoader::willSendRequest):
2032         (WebCore::ResourceLoader::didReceiveResponse):
2033         (WebCore::ResourceLoader::didReceiveData):
2034         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2035         (WebCore::ResourceLoader::didFail):
2036         (WebCore::ResourceLoader::didCancel):
2037         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2038         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2039
2040 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
2041
2042         Reviewed by Darin Fisher.
2043
2044         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
2045         (https://bugs.webkit.org/show_bug.cgi?id=30427)
2046         
2047         Remove no longer needed methods from ChromiumDataObject.
2048
2049         No new tests (no functional change)
2050
2051         * platform/chromium/ChromiumDataObject.h:
2052
2053 2009-10-16  Yael Aharon  <yael.aharon@nokia.com>
2054
2055         Reviewed by Tor Arne Vestbø.
2056
2057         [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
2058         https://bugs.webkit.org/show_bug.cgi?id=30179
2059
2060         Inform the application when a plugin is created or destroyed, but only if the 
2061         application registered for these notifications.
2062
2063         * plugins/symbian/PluginViewSymbian.cpp:
2064         (WebCore::PluginView::platformStart):
2065         (WebCore::PluginView::platformDestroy):
2066
2067 2009-10-16  Shu Chang  <Chang.Shu@nokia.com>
2068
2069         Reviewed by Eric Seidel.
2070
2071         Default language translation should be determined by locale settings,
2072         e.g., "en-US".
2073         https://bugs.webkit.org/show_bug.cgi?id=29653
2074
2075         Test: fast/js/navigator-language.html
2076
2077         * platform/qt/Localizations.cpp:
2078         (WebCore::defaultLanguage):
2079
2080 2009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2081
2082         Reviewed by Ariya Hidayat.
2083
2084         Crash fix when loading NPAPI plugins on Qt/Mac
2085
2086         There's no guarantee that the plist will be valid even if we
2087         ask the plugin to create it. Crash obverved with iGetter.
2088
2089         * plugins/mac/PluginPackageMac.cpp:
2090
2091 2009-10-15  Stephen White  <senorblanco@chromium.org>
2092
2093         Reviewed by David Levin.
2094
2095         Fix for Chromium/skia's implementation of canvas's isPointInPath().
2096         https://bugs.webkit.org/show_bug.cgi?id=30402
2097
2098         Covered by LayoutTests/fast/canvas/pointInPath.html.
2099
2100         * platform/graphics/skia/SkiaUtils.cpp:
2101         (WebCore::SkPathContainsPoint):
2102
2103 2009-10-15  Adam Barth  <abarth@webkit.org>
2104
2105         Reviewed by Darin Adler.
2106
2107         Factor ResourceLoadNotifier out of FrameLoader
2108         https://bugs.webkit.org/show_bug.cgi?id=30379
2109
2110         These methods have virtually no interaction with the rest of
2111         FrameLoader.
2112
2113         * GNUmakefile.am:
2114         * WebCore.gypi:
2115         * WebCore.pro:
2116         * WebCore.vcproj/WebCore.vcproj:
2117         * WebCore.xcodeproj/project.pbxproj:
2118         * WebCoreSources.bkl:
2119         * dom/Document.cpp:
2120         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
2121         * loader/FrameLoader.cpp:
2122         (WebCore::FrameLoader::FrameLoader):
2123         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2124         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2125         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
2126         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2127         (WebCore::ResourceLoadNotifier::willSendRequest):
2128         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2129         (WebCore::ResourceLoadNotifier::didReceiveData):
2130         (WebCore::ResourceLoadNotifier::didFailToLoad):
2131         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
2132         (WebCore::FrameLoader::sendRemainingDelegateMessages):
2133         (WebCore::FrameLoader::requestFromDelegate):
2134         (WebCore::ResourceLoadNotifier::didFinishLoad):
2135         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2136         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2137         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2138         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2139         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2140         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2141         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2142         * loader/FrameLoader.h:
2143         (WebCore::FrameLoader::notifier):
2144         * loader/MainResourceLoader.cpp:
2145         (WebCore::MainResourceLoader::receivedError):
2146         * loader/ResourceLoadNotifier.cpp: Added.
2147         (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
2148         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2149         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2150         (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
2151         (WebCore::ResourceLoadNotifier::willSendRequest):
2152         (WebCore::ResourceLoadNotifier::didReceiveResponse):
2153         (WebCore::ResourceLoadNotifier::didReceiveData):
2154         (WebCore::ResourceLoadNotifier::didFinishLoad):
2155         (WebCore::ResourceLoadNotifier::didFailToLoad):
2156         (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
2157         (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
2158         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
2159         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
2160         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
2161         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
2162         (WebCore::ResourceLoadNotifier::activeDocumentLoader):
2163         * loader/ResourceLoadNotifier.h: Added.
2164         * loader/ResourceLoader.cpp:
2165         (WebCore::ResourceLoader::willSendRequest):
2166         (WebCore::ResourceLoader::didReceiveResponse):
2167         (WebCore::ResourceLoader::didReceiveData):
2168         (WebCore::ResourceLoader::didFinishLoadingOnePart):
2169         (WebCore::ResourceLoader::didFail):
2170         (WebCore::ResourceLoader::didCancel):
2171         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
2172         (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
2173
2174 2009-10-15  Roland Steiner  <rolandsteiner@google.com>
2175
2176         Reviewed by Darin Fisher.
2177
2178         Bug 30427 -  Remove unneeded methods in ChromiumDataObject
2179         (https://bugs.webkit.org/show_bug.cgi?id=30427)
2180         
2181         Remove no longer needed methods from ChromiumDataObject.
2182
2183         No new tests (no functional change)
2184
2185         * platform/chromium/ChromiumDataObject.h:
2186
2187 2009-10-15  Daniel Bates  <dbates@webkit.org>
2188
2189         No review, rolling out r49644.
2190         http://trac.webkit.org/changeset/49644
2191         
2192         We need to think about this change some more. See bug #30418 
2193         for more details.
2194
2195         * page/XSSAuditor.cpp:
2196         (WebCore::XSSAuditor::canEvaluate):
2197         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2198         (WebCore::XSSAuditor::canCreateInlineEventListener):
2199         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
2200         (WebCore::XSSAuditor::canLoadObject):
2201         (WebCore::XSSAuditor::canSetBaseElementURL):
2202         (WebCore::XSSAuditor::findInRequest):
2203         * page/XSSAuditor.h:
2204
2205 2009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
2206
2207         Add SPI to determine whether a node is a halted plug-in.
2208
2209         Part of <rdar://problem/7273354> Halted plug-ins should restart on
2210         mouseover
2211
2212         https://bugs.webkit.org/show_bug.cgi?id=30151
2213
2214         Reviewed by Darin Adler.
2215
2216         * plugins/PluginView.cpp:
2217         (WebCore::PluginView::PluginView):
2218         Initialize m_isHalted.
2219
2220         * plugins/PluginView.h:
2221         (WebCore::PluginView::isHalted):
2222         Return m_isHalted.
2223
2224         * plugins/win/PluginViewWin.cpp:
2225         (WebCore::PluginView::halt):
2226         Set m_isHalted to true.
2227         (WebCore::PluginView::restart):
2228         clear m_isHalted.
2229
2230 2009-10-15  Zoltan Horvath  <zoltan@webkit.org>
2231
2232         Reviewed by Oliver Hunt.
2233
2234         [Qt] Build fix for QtWebKit after r49649.
2235
2236         Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
2237
2238         * bridge/qt/qt_runtime.h:
2239         (JSC::Bindings::QtRuntimeMethod::createStructure):
2240
2241 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
2242
2243         Not reviewed - build fix.
2244
2245         Web Inspector: add file missing in r49648
2246
2247         * inspector/front-end/TestController.js: Added.
2248         (WebInspector.TestController):
2249         (WebInspector.TestController.prototype.waitUntilDone):
2250         (WebInspector.TestController.prototype.notifyDone):
2251         (WebInspector.evaluateForTestInFrontend):
2252
2253 2009-10-15  Oliver Hunt  <oliver@apple.com>
2254
2255         Reviewed by Darin Adler.
2256
2257         Make typeinfo flags default to false
2258         https://bugs.webkit.org/show_bug.cgi?id=30372
2259
2260         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
2261
2262         * bindings/js/JSDOMBinding.h:
2263         (WebCore::DOMObjectWithGlobalPointer::createStructure):
2264         (WebCore::DOMConstructorObject::createStructure):
2265         * bindings/js/JSDOMWindowShell.h:
2266         (WebCore::JSDOMWindowShell::createStructure):
2267         * bindings/js/JSHTMLAllCollection.h:
2268         (WebCore::JSHTMLAllCollection::createStructure):
2269         * bindings/js/JSQuarantinedObjectWrapper.h:
2270         (WebCore::JSQuarantinedObjectWrapper::createStructure):
2271         * bindings/scripts/CodeGeneratorJS.pm:
2272         * bridge/qt/qt_runtime.h:
2273         (JSC::Bindings::QtRuntimeMethod::createStructure):
2274         * bridge/runtime_method.h:
2275         (JSC::RuntimeMethod::createStructure):
2276
2277 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
2278
2279         Reviewed by Timothy Hatcher.
2280
2281         Web Inspector: introduce test controller with waitUntilDone
2282         on frontend side.
2283
2284         https://bugs.webkit.org/show_bug.cgi?id=30400
2285
2286         * WebCore.gypi:
2287         * WebCore.vcproj/WebCore.vcproj:
2288         * inspector/front-end/TestController.js: Added.
2289         (WebInspector.TestController):
2290         (WebInspector.TestController.prototype.waitUntilDone):
2291         (WebInspector.TestController.prototype.notifyDone):
2292         (WebInspector.evaluateForTestInFrontend):
2293         * inspector/front-end/WebKit.qrc:
2294         * inspector/front-end/inspector.html:
2295         * inspector/front-end/inspector.js:
2296
2297 2009-10-15  Daniel Bates  <dbates@webkit.org>
2298
2299         Reviewed by Adam Barth.
2300
2301         https://bugs.webkit.org/show_bug.cgi?id=27895
2302         
2303         Fixes an issue in which injecting an inline event handler whose value ends in a single-line
2304         JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
2305         the HTML Base element, HTML Object element, inline and external script tags, and
2306         JavaScript multi-line variants of all of these attacks.
2307
2308         Tests: http/tests/security/xssAuditor/base-href-comment.html
2309                http/tests/security/xssAuditor/iframe-javascript-url-comment.html
2310                http/tests/security/xssAuditor/img-onerror-HTML-comment.html
2311                http/tests/security/xssAuditor/img-onerror-comment.html
2312                http/tests/security/xssAuditor/object-tag-comment.html
2313                http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
2314                http/tests/security/xssAuditor/script-tag-comment.html
2315                http/tests/security/xssAuditor/script-tag-with-source-comment.html
2316
2317         * page/XSSAuditor.cpp: Added constant minAttackLength.
2318         (WebCore::XSSAuditor::canEvaluate):
2319         (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
2320         (WebCore::XSSAuditor::canCreateInlineEventListener):
2321         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
2322         (WebCore::XSSAuditor::canLoadObject):
2323         (WebCore::XSSAuditor::canSetBaseElementURL):
2324         (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
2325         to minAttackLength of script code plus context (if any).
2326         * page/XSSAuditor.h:
2327
2328 2009-10-08  Adam Langley  <agl@google.com>
2329
2330         Reviewed by Eric Seidel.
2331
2332         Currently, Skia clip paths are 1-bit. This patch makes our path
2333         clipping anti-aliased for non-canvas drawing.
2334
2335         http://code.google.com/p/chromium/issues/detail?id=5927
2336         https://bugs.webkit.org/show_bug.cgi?id=28820
2337         http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
2338
2339         Already covered by layout tests. New baselines will be needed in the
2340         Chromium tree.
2341
2342         (Reland. First landed in r49329, reverted in r49330 due to Windows
2343         build break)
2344
2345         * html/canvas/CanvasRenderingContext2D.cpp:
2346         (WebCore::CanvasRenderingContext2D::clip):
2347         * platform/graphics/GraphicsContext.h:
2348         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2349         (WebCore::GraphicsContext::canvasClip):
2350         * platform/graphics/cg/GraphicsContextCG.cpp:
2351         (WebCore::GraphicsContext::canvasClip):
2352         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2353         (WebCore::GraphicsContext::canvasClip):
2354         * platform/graphics/qt/GraphicsContextQt.cpp:
2355         (WebCore::GraphicsContext::canvasClip):
2356         * platform/graphics/skia/GraphicsContextSkia.cpp:
2357         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2358         (WebCore::GraphicsContext::clip):
2359         (WebCore::GraphicsContext::canvasClip):
2360         (WebCore::GraphicsContext::clipPath):
2361         * platform/graphics/skia/PlatformContextSkia.cpp:
2362         (PlatformContextSkia::clipPathAntiAliased):
2363         (PlatformContextSkia::restore):
2364         (PlatformContextSkia::applyAntiAliasedClipPaths):
2365         * platform/graphics/skia/PlatformContextSkia.h:
2366         * platform/graphics/win/GraphicsContextWin.cpp:
2367         (WebCore::GraphicsContext::canvasClip):
2368         * platform/graphics/wince/GraphicsContextWince.cpp:
2369         (WebCore::GraphicsContext::canvasClip):
2370         * platform/graphics/wx/GraphicsContextWx.cpp:
2371         (WebCore::GraphicsContext::canvasClip):
2372
2373 2009-10-15  Eric Carlson  <eric.carlson@apple.com>
2374
2375         Reviewed by Simon Fraser.
2376
2377         <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
2378
2379         * WebCore.Video.exp: Export muted and setMute.
2380
2381 2009-10-15  Simon Fraser  <simon.fraser@apple.com>
2382
2383         Reviewed by Dan Bernstein.
2384
2385         Transitions fail to run sometimes
2386         https://bugs.webkit.org/show_bug.cgi?id=26770
2387
2388         Fix an issue where we could attempt to start accelerated animations or transitions on
2389         GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
2390         the AnimationController's m_waitingForResponse flag in a state that killed subsequent
2391         software transitions.
2392
2393         * page/animation/AnimationController.cpp:
2394         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2395         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
2396         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
2397         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
2398         (WebCore::AnimationControllerPrivate::startTimeResponse):
2399         * page/animation/AnimationControllerPrivate.h:
2400         Make some methods non-inline for ease of debugging (these are not hot methods).
2401         Rename m_waitingForAResponse to m_waitingForResponse.
2402         
2403         * platform/graphics/GraphicsLayer.h:
2404         * platform/graphics/GraphicsLayer.cpp:
2405         (WebCore::GraphicsLayer::hasAncestor):
2406         New method to report whether the receiver has the given layer as an ancestor. Used for checking
2407         whether a layer is rooted.
2408
2409         * rendering/RenderLayerBacking.cpp:
2410         (WebCore::RenderLayerBacking::startAnimation):
2411         (WebCore::RenderLayerBacking::startTransition):
2412         Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
2413
2414 2009-10-15  Alexander Pavlov  <apavlov@chromium.org>
2415
2416         Reviewed by Pavel Feldman.
2417
2418         Refactor ProfilesPanel to support multiple profile types
2419
2420         Data describing different profile types are now stored in distinct objects.
2421         https://bugs.webkit.org/show_bug.cgi?id=30332
2422
2423         * WebCore.vcproj/WebCore.vcproj:
2424         * inspector/front-end/ProfileView.js:
2425         (WebInspector.CPUProfileView.profileCallback):
2426         (WebInspector.CPUProfileView):
2427         (WebInspector.CPUProfileView.prototype._sortData):
2428         (WebInspector.CPUProfileType):
2429         (WebInspector.CPUProfileType.prototype.get buttonTooltip):
2430         (WebInspector.CPUProfileType.prototype.get buttonStyle):
2431         (WebInspector.CPUProfileType.prototype.buttonClicked):
2432         (WebInspector.CPUProfileType.prototype.setRecordingProfile):
2433         (WebInspector.CPUProfile):
2434         (WebInspector.CPUProfile.prototype.get title):
2435         (WebInspector.CPUProfile.prototype.get uid):
2436         (WebInspector.CPUProfile.prototype.get head):
2437         (WebInspector.CPUProfile.prototype.createView):
2438         (WebInspector.CPUProfile.prototype.viewForProfile):
2439         * inspector/front-end/ProfilesPanel.js:
2440         (WebInspector.ProfileType):
2441         (WebInspector.ProfileType.prototype.get buttonTooltip):
2442         (WebInspector.ProfileType.prototype.get buttonStyle):
2443         (WebInspector.ProfileType.prototype.get buttonCaption):
2444         (WebInspector.ProfileType.prototype.get id):
2445         (WebInspector.ProfileType.prototype.get name):
2446         (WebInspector.ProfileType.prototype.buttonClicked):
2447         (WebInspector.ProfilesPanel):
2448         (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
2449         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
2450         (WebInspector.ProfilesPanel.prototype.reset):
2451         (WebInspector.ProfilesPanel.prototype.registerProfileType):
2452         (WebInspector.ProfilesPanel.prototype._makeKey):
2453         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2454         (WebInspector.ProfilesPanel.prototype.showProfile):
2455         (WebInspector.ProfilesPanel.prototype.getProfileType):
2456         (WebInspector.ProfilesPanel.prototype.showProfileForURL):
2457         (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
2458         (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
2459         (WebInspector.ProfilesPanel.prototype.get searchableViews):
2460         (WebInspector.ProfilesPanel.prototype._updateInterface):
2461         * inspector/front-end/inspector.js:
2462         (WebInspector._createPanels):
2463         (WebInspector.documentClick.followLink):
2464         (WebInspector.documentClick):
2465         (WebInspector.addProfileHeader):
2466         (WebInspector.setRecordingProfile):
2467         (WebInspector.linkifyStringAsFragment):
2468         (WebInspector.showProfileForURL):
2469
2470 2009-10-15  Pavel Feldman  <pfeldman@chromium.org>
2471
2472         Reviewed by Timothy Hatcher.
2473
2474         Web Inspector: Enable inspector layout tests.
2475
2476         https://bugs.webkit.org/show_bug.cgi?id=30014
2477
2478         * inspector/InspectorController.cpp:
2479         (WebCore::InspectorController::evaluateForTestInFrontend):
2480
2481 2009-10-15  Philippe Normand  <pnormand@igalia.com>
2482
2483         Reviewed by Gustavo Noronha.
2484
2485         [GStreamer] READY state doesn't mean "enough data"
2486         https://bugs.webkit.org/show_bug.cgi?id=30003
2487
2488         STATE_READY means MediaPlayer::HaveNothing
2489
2490         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2491         (WebCore::MediaPlayerPrivate::updateStates):
2492
2493 2009-10-15  Philippe Normand  <pnormand@igalia.com>
2494
2495         Reviewed by Gustavo Noronha.
2496
2497         https://bugs.webkit.org/show_bug.cgi?id=30002
2498
2499         implement cancelLoad
2500
2501         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2502         (WebCore::MediaPlayerPrivate::cancelLoad):
2503
2504 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2505
2506         Reviewed by Gustavo Noronha.
2507
2508         https://bugs.webkit.org/show_bug.cgi?id=30353
2509         
2510         Fix race condition, leading to a deadlock
2511
2512         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2513         (webkit_video_sink_timeout_func):
2514         (webkit_video_sink_render):
2515         (unlock_buffer_mutex):
2516         (webkit_video_sink_unlock):
2517         (webkit_video_sink_unlock_stop):
2518         (webkit_video_sink_stop):
2519         (webkit_video_sink_start):
2520         (webkit_video_sink_class_init):
2521         Fix race condition in unlock/render that would lead to deadlocks.
2522
2523 2009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2524
2525         Reviewed by Gustavo Noronha.
2526
2527         https://bugs.webkit.org/show_bug.cgi?id=30374
2528         
2529         Check if caps are valid before parsing them
2530
2531         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2532         (WebCore::MediaPlayerPrivate::duration):
2533         Check if caps are valid before parsing them in ::naturalSize().
2534         This prevents assertions if the natural size should be calculated
2535         before the video caps are negotiated.
2536
2537 2009-10-15  Philippe Normand  <pnormand@igalia.com>
2538
2539         Reviewed by Gustavo Noronha.
2540
2541         https://bugs.webkit.org/show_bug.cgi?id=30006
2542         [GStreamer] Unnecessary checks for Messages types in callbacks
2543
2544         refactored gst message callbacks into a single one
2545
2546         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2547         (WebCore::mediaPlayerPrivateMessageCallback):
2548         (WebCore::do_gst_init):
2549         (WebCore::MediaPlayerPrivate::duration):
2550         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2551
2552 2009-10-15  Shu Chang  <Chang.Shu@nokia.com>
2553
2554         Reviewed by Adele Peterson.
2555
2556         Anchor elements should be mouse focusable regardless isLink flag.
2557         https://bugs.webkit.org/show_bug.cgi?id=26856
2558
2559         * html/HTMLAnchorElement.cpp:
2560         * html/HTMLAnchorElement.h:
2561
2562 2009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
2563
2564         Not reviewed. Sort XCode project file.
2565
2566         * WebCore.xcodeproj/project.pbxproj:
2567
2568 2009-10-15  Yury Semikhatsky  <yurys@chromium.org>
2569
2570         Reviewed by Dave Hyatt.
2571
2572         Return correct shorthand property name for 
2573         background-repeat-x, background-repeat-y, background-position-x,
2574         background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
2575         -webkit-mask-repeat-x, -webkit-mask-repeat-y.
2576
2577         https://bugs.webkit.org/show_bug.cgi?id=28972
2578
2579         Test: fast/backgrounds/repeat/background-repeat-shorthand.html
2580
2581         * css/CSSParser.cpp:
2582         (WebCore::CSSParser::parseValue):
2583
2584 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
2585
2586         Reviewed by Pavel Feldman.
2587
2588         Web Inspector: Migrate profiles to the injected script-based schema.
2589
2590         https://bugs.webkit.org/show_bug.cgi?id=30328
2591
2592         * bindings/js/JSInspectorBackendCustom.cpp:
2593         * bindings/v8/custom/V8CustomBinding.h:
2594         * inspector/InspectorBackend.cpp:
2595         (WebCore::InspectorBackend::getProfileHeaders):
2596         (WebCore::InspectorBackend::getProfile):
2597         * inspector/InspectorBackend.h:
2598         * inspector/InspectorBackend.idl:
2599         * inspector/InspectorController.cpp:
2600         (WebCore::InspectorController::addProfile):
2601         (WebCore::InspectorController::getProfileHeaders):
2602         (WebCore::InspectorController::getProfile):
2603         (WebCore::InspectorController::createProfileHeader):
2604         * inspector/InspectorController.h:
2605         * inspector/InspectorFrontend.cpp:
2606         (WebCore::InspectorFrontend::addProfileHeader):
2607         (WebCore::InspectorFrontend::didGetProfileHeaders):
2608         (WebCore::InspectorFrontend::didGetProfile):
2609         * inspector/InspectorFrontend.h:
2610         * inspector/JavaScriptProfileNode.cpp:
2611         (WebCore::ProfileNodeClass):
2612         * inspector/front-end/ProfileView.js:
2613         (WebInspector.ProfileView.profileCallback):
2614         (WebInspector.ProfileView):
2615         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
2616         (WebInspector.ProfileView.prototype._assignParentsInProfile):
2617         * inspector/front-end/ProfilesPanel.js:
2618         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2619         * inspector/front-end/inspector.js:
2620         (WebInspector.addProfileHeader):
2621
2622 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
2623
2624         Reviewed by Timothy Hatcher.
2625
2626         Web Inspector: Create and update frontend script objects only when
2627         web inspector is visible.
2628
2629         https://bugs.webkit.org/show_bug.cgi?id=30376
2630
2631         * inspector/InspectorController.cpp:
2632         (WebCore::InspectorController::addConsoleMessage):
2633         (WebCore::InspectorController::populateScriptObjects):
2634         (WebCore::InspectorController::pruneResources):
2635         (WebCore::InspectorController::didCommitLoad):
2636         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
2637         (WebCore::InspectorController::identifierForInitialRequest):
2638         (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
2639         (WebCore::InspectorController::mainResourceFiredLoadEvent):
2640         (WebCore::InspectorController::willSendRequest):
2641         (WebCore::InspectorController::didReceiveResponse):
2642         (WebCore::InspectorController::didReceiveContentLength):
2643         (WebCore::InspectorController::didFinishLoading):
2644         (WebCore::InspectorController::didFailLoading):
2645         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2646         (WebCore::InspectorController::scriptImported):
2647         (WebCore::InspectorController::didOpenDatabase):
2648         (WebCore::InspectorController::didUseDOMStorage):
2649         (WebCore::InspectorController::evaluateForTestInFrontend):
2650
2651 2009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
2652
2653         Fix Windows build.
2654
2655         * dom/Document.idl:
2656
2657 2009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
2658
2659         Reviewed by Adam Barth.
2660
2661         [HTML5] Add document.head
2662         https://bugs.webkit.org/show_bug.cgi?id=30232
2663
2664         Test is fast/dom/document-head.html
2665
2666         * dom/Document.idl: added readonly attribute head
2667
2668 2009-10-14  Matt Mueller  <mattm@chromium.org>
2669
2670         Reviewed by Darin Adler.
2671
2672         Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
2673         https://bugs.webkit.org/show_bug.cgi?id=30347
2674         https://bugs.webkit.org/show_bug.cgi?id=22772
2675
2676         Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
2677
2678         * css/CSSParser.cpp:
2679         (WebCore::CSSParser::validUnit):
2680
2681 2009-10-14  Adam Barth  <abarth@webkit.org>
2682
2683         Reviewed by Sam Weinig.
2684
2685         Move scrolling code from FrameLoader to FrameView
2686         https://bugs.webkit.org/show_bug.cgi?id=30370
2687
2688         This code is about controlling the Frame's view, not about loading
2689         stuff into the frame.
2690
2691         * loader/FrameLoader.cpp:
2692         (WebCore::FrameLoader::finishedParsing):
2693         (WebCore::FrameLoader::scrollToAnchor):
2694         * page/FrameView.cpp:
2695         (WebCore::FrameView::scrollToFragment):
2696         (WebCore::FrameView::scrollToAnchor):
2697         * page/FrameView.h:
2698
2699 2009-10-14  Oliver Hunt  <oliver@apple.com>
2700
2701         Reviewed by Geoff Garen.
2702
2703         Make typeinfo flags default to false
2704         https://bugs.webkit.org/show_bug.cgi?id=30372
2705         
2706         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
2707
2708         * bindings/js/JSDOMBinding.h:
2709         (WebCore::DOMObjectWithGlobalPointer::createStructure):
2710         (WebCore::DOMConstructorObject::createStructure):
2711         * bindings/js/JSDOMWindowShell.h:
2712         (WebCore::JSDOMWindowShell::createStructure):
2713         * bindings/js/JSHTMLAllCollection.h:
2714         (WebCore::JSHTMLAllCollection::createStructure):
2715         * bindings/js/JSQuarantinedObjectWrapper.h:
2716         (WebCore::JSQuarantinedObjectWrapper::createStructure):
2717         * bindings/scripts/CodeGeneratorJS.pm:
2718         * bridge/objc/objc_runtime.h:
2719         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2720         * bridge/runtime_array.h:
2721         (JSC::RuntimeArray::createStructure):
2722         * bridge/runtime_method.h:
2723         (JSC::RuntimeMethod::createStructure):
2724         * bridge/runtime_object.h:
2725         (JSC::RuntimeObjectImp::createStructure):
2726
2727 2009-10-14  Adam Barth  <abarth@webkit.org>
2728
2729         Reviewed by Darin Adler.
2730
2731         [XSSAuditor] Add an exception for local files
2732         https://bugs.webkit.org/show_bug.cgi?id=30352
2733
2734         Reduce XSS auditor false positives by always letting pages load scripts
2735         from their own host. We don't actually know of any false positives
2736         that this prevents, but it seems like a good idea.
2737
2738         One subtly is that we don't add this exception for scripts that have a
2739         query string because (1) URLs with query strings are more apt to
2740         confuse servers and (2) it is much less common to load scripts with a
2741         query string.
2742
2743         Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
2744                http/tests/security/xssAuditor/script-tag-with-source-same-host.html
2745
2746         * page/XSSAuditor.cpp:
2747         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
2748
2749 2009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2750
2751         Reviewed by George Staikos.
2752
2753         Kill virtual contextElement() method spread all over SVG code
2754         https://bugs.webkit.org/show_bug.cgi?id=30183
2755
2756         Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
2757         SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
2758         subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
2759
2760         Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
2761         and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
2762
2763         * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2764         * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
2765         * svg/SVGAnimatedProperty.h:
2766         (WebCore::::synchronize):
2767         (WebCore::::startAnimation):
2768         (WebCore::::stopAnimation):
2769         * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2770         * svg/SVGCircleElement.h: Ditto.
2771         * svg/SVGClipPathElement.h: Ditto.
2772         * svg/SVGCursorElement.h: Ditto.
2773         * svg/SVGDefsElement.h: Ditto.
2774         * svg/SVGEllipseElement.h: Ditto.
2775         * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
2776         * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2777         * svg/SVGFELightElement.h: Remove virtual contextElement() method.
2778         * svg/SVGFEMergeNodeElement.h: Ditto.
2779         * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2780         * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method.
2781         * svg/SVGFitToViewBox.cpp:
2782         (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element.
2783         (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto.
2784         * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method.
2785         * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2786         * svg/SVGForeignObjectElement.h: Ditto.
2787         * svg/SVGGElement.h: Ditto.
2788         * svg/SVGGradientElement.h: Ditto.
2789         * svg/SVGImageElement.h: Ditto.
2790         * svg/SVGLineElement.h: Ditto.
2791         * svg/SVGMPathElement.h: Ditto. Fix license indention.
2792         * svg/SVGMarkerElement.cpp:
2793         (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2794         * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2795         * svg/SVGMaskElement.h: Ditto.
2796         * svg/SVGPathElement.h: Ditto.
2797         * svg/SVGPatternElement.cpp:
2798         (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2799         * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2800         * svg/SVGPolyElement.cpp:
2801         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize().
2802         * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2803         * svg/SVGRectElement.h: Ditto.
2804         * svg/SVGSVGElement.cpp:
2805         (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2806         * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2807         * svg/SVGScriptElement.h: Ditto.
2808         * svg/SVGSwitchElement.h: Ditto.
2809         * svg/SVGSymbolElement.cpp:
2810         (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2811         * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2812         * svg/SVGTRefElement.h: Remove virtual contextElement() method.
2813         * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2814         * svg/SVGTextPathElement.h: Remove virtual contextElement() method.
2815         * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2816         * svg/SVGViewElement.cpp:
2817         (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2818         * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
2819         * svg/SVGViewSpec.cpp:
2820         (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute().
2821         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
2822         * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed.
2823
2824 2009-10-14  Dirk Schulze  <krit@webkit.org>
2825
2826         Reviewed by Nikolas Zimmermann.
2827
2828         SVG Masking with wrong offset
2829         [https://bugs.webkit.org/show_bug.cgi?id=30325]
2830
2831         SVGMaskElement moves the mask image graphics context to the wrong location.
2832         In objectBoundingBoxMode the maskDestRect gets translated. This transformation
2833         is not used in the later calculation. Fix by consistenly calculating the translation
2834         offsets from the final mask destination rect.
2835
2836         Test: svg/custom/mask-with-default-value.svg
2837
2838         * svg/SVGMaskElement.cpp:
2839         (WebCore::SVGMaskElement::drawMaskerContent):
2840
2841 2009-10-14  Kevin Decker  <kdecker@apple.com>
2842
2843         Rubberstamped by Jon Honeycutt.
2844         
2845         Export a few more showSubstituteImage() related methods.
2846         
2847         * WebCore.base.exp:
2848         * WebCore.xcodeproj/project.pbxproj:
2849
2850 2009-10-14  Evan Martin  <evan@chromium.org>
2851
2852         Reviewed by Darin Adler.
2853
2854         Stringify CSS units manually (without printf) to make the formatting
2855         locale-insensitive and obey CSS spec with respect to large values.
2856         
2857         https://bugs.webkit.org/show_bug.cgi?id=18994
2858
2859         * css/CSSPrimitiveValue.cpp:
2860         (WebCore::appendCSSDouble):
2861         (WebCore::formatWithUnits):
2862         (WebCore::CSSPrimitiveValue::cssText):
2863
2864 2009-10-14  Mark Seaborn  <mseaborn@google.com>
2865
2866         Reviewed by Darin Adler.
2867
2868         Check error return value in Perl build script
2869         https://bugs.webkit.org/show_bug.cgi?id=30316
2870
2871         * css/makevalues.pl: Die if gperf fails.
2872
2873 2009-10-14  Dirk Schulze  <krit@webkit.org>
2874
2875         Reviewed by Nikolas Zimmermann.
2876
2877         SVG wrong filterRegions for userSpaceOnUse and percentage values
2878         [https://bugs.webkit.org/show_bug.cgi?id=30330]
2879
2880         Some clean-up of the SVG filter calculation code. This clean-up
2881         also fixes the problem with percentage and userSpaceInUse mode.
2882
2883         Test: svg/filters/subRegion-in-userSpace.svg
2884
2885         * platform/graphics/filters/FilterEffect.cpp:
2886         (WebCore::FilterEffect::FilterEffect):
2887         * platform/graphics/filters/FilterEffect.h:
2888         * rendering/SVGRenderSupport.cpp:
2889         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2890         * svg/SVGFilterElement.cpp:
2891         (WebCore::SVGFilterElement::buildFilter):
2892         (WebCore::SVGFilterElement::canvasResource):
2893         * svg/SVGFilterElement.h:
2894         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2895         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2896         * svg/graphics/SVGResourceFilter.cpp:
2897         (WebCore::SVGResourceFilter::SVGResourceFilter):
2898         (WebCore::SVGResourceFilter::~SVGResourceFilter):
2899         (WebCore::SVGResourceFilter::addFilterEffect):
2900         (WebCore::SVGResourceFilter::prepareFilter):
2901         * svg/graphics/SVGResourceFilter.h:
2902         (WebCore::SVGResourceFilter::create):
2903         * svg/graphics/filters/SVGFilter.cpp:
2904         (WebCore::SVGFilter::SVGFilter):
2905         (WebCore::SVGFilter::calculateEffectSubRegion):
2906         (WebCore::SVGFilter::create):
2907         * svg/graphics/filters/SVGFilter.h:
2908
2909 2009-10-14  Chris Marrin  <cmarrin@apple.com>
2910
2911         The last change fixed the problem, removing diagnostic printfs.
2912
2913         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2914         (WebCore::GraphicsContext3D::GraphicsContext3D):
2915
2916 2009-10-14  Kevin Ollivier  <kevino@theolliviers.com>
2917
2918         CURL build fix for versions < 7.18.
2919
2920         * platform/network/curl/ResourceHandleCurl.cpp:
2921         (WebCore::ResourceHandle::setDefersLoading):
2922         * platform/network/curl/ResourceHandleManager.cpp:
2923         (WebCore::ResourceHandleManager::initializeHandle):
2924
2925 2009-10-14  Chris Marrin  <cmarrin@apple.com>
2926
2927         One more round of changes to figure out why the webgl 
2928         tests are crashing on the build bot. Here I am trying
2929         to see if we can create a software renderer. I am also
2930         printing the found pixel formats.
2931
2932         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2933         (WebCore::GraphicsContext3D::GraphicsContext3D):
2934
2935 2009-10-14  Yael Aharon  <yael.aharon@nokia.com>
2936  
2937         Reviewed by Simon Hausmann.
2938  
2939         Enabling NPAPI plugin support on Qt Webkit for S60 platform
2940         https://bugs.webkit.org/show_bug.cgi?id=29302
2941
2942         Also implemented by Mahesh Kulkarni<mahesh.kulkarni@nokia.com>, 
2943         Rohini Ananth <rohini.ananth@nokia.com> and help from Norbert Lesr
2944         <norbert.leser@nokia.com>
2945          
2946         * WebCore.pro:
2947         Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 
2948         new plugin files to be compiled under symbian: macro
2949
2950         * bridge/npapi.h:
2951         Added NPEvent and NPRegion definition for Symbian
2952
2953         * plugins/PluginPackage.h:
2954         Added S60 specific plugin interface and plugin loader variables
2955         * plugins/PluginPackage.cpp:
2956         (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro.
2957         Default implementation to be used only for non-symbian platform
2958         * plugins/PluginDatabase.cpp:
2959         Macro !SYMBIAN checking
2960         * plugins/PluginView.h:
2961         Add Symbian to platforms that support setNPWindowIfNeeded
2962         * plugins/PluginView.cpp:
2963         (WebCore::PluginView::setFrameRect): Add Symbian to platforms that
2964         call setNPWindowRect from setFrameRect
2965          
2966         Added folder 'symbian' which contains implementation files for S60
2967         platform-specific NPAPI plugin functionality, under /plugins folder
2968         * plugins/symbian
2969         * plugins/symbian/npinterface.h:
2970         Plugin Interface to be implemented by S60 NPAPI plugins 
2971         * plugins/symbian/PluginContainerSymbian.h:
2972         * plugins/symbian/PluginContainerSymbian.cpp:
2973         * plugins/symbian/PluginDatabaseSymbian.cpp:
2974         * plugins/symbian/PluginViewSymbian.cpp:
2975         * plugins/symbian/PluginPackageSymbian.cpp:
2976
2977 2009-10-14  Chris Marrin  <cmarrin@apple.com>
2978
2979         More changes to figure out why the webgl tests are crashing on the build bot.
2980
2981         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2982         (WebCore::GraphicsContext3D::GraphicsContext3D):
2983
2984 2009-10-14  Victor Wang  <victorw@chromium.org>
2985
2986         Reviewed by David Hyatt.
2987
2988         Round non-integer line height values.
2989
2990         Change webkit to rounding non-integer line height values
2991         instead of truncating them. This fixes a layout test
2992         failure on Windows and matches the calculation in IE and Firefox. 
2993
2994         https://bugs.webkit.org/show_bug.cgi?id=24434
2995
2996         Test: fast/css/line-height-rounding.html
2997               fast/forms/textarea-scrollbar-height.htm
2998
2999         * css/CSSComputedStyleDeclaration.cpp:
3000         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3001         * rendering/InlineFlowBox.cpp:
3002         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3003         * rendering/RenderBR.cpp:
3004         (WebCore::RenderBR::lineHeight):
3005         * rendering/style/RenderStyle.h:
3006         (WebCore::InheritedFlags::computedLineHeight):
3007
3008 2009-10-13  Kelly Norton  <knorton@google.com>
3009
3010         Reviewed by Pavel Feldman.
3011
3012         Removes the persistent setting for InspectorTimelineAgent and renames timeline related
3013         interfaces to be more consistent with the JavaScript profiler.
3014
3015         * inspector/InspectorBackend.cpp:
3016         (WebCore::InspectorBackend::startTimelineProfiler):
3017         (WebCore::InspectorBackend::stopTimelineProfiler):
3018         (WebCore::InspectorBackend::timelineProfilerEnabled):
3019         * inspector/InspectorBackend.h:
3020         * inspector/InspectorBackend.idl:
3021         * inspector/InspectorController.cpp:
3022         (WebCore::InspectorController::setFrontendProxyObject):
3023         (WebCore::InspectorController::startTimelineProfiler):
3024         (WebCore::InspectorController::stopTimelineProfiler):
3025         (WebCore::InspectorController::timelineProfilerEnabled):
3026         * inspector/InspectorController.h:
3027         * inspector/InspectorFrontend.cpp:
3028         (WebCore::InspectorFrontend::timelineProfilerWasStarted):
3029         (WebCore::InspectorFrontend::timelineProfilerWasStopped):
3030         * inspector/InspectorFrontend.h:
3031         * inspector/front-end/TimelineAgent.js:
3032         (WebInspector.timelineProfilerWasStarted):
3033         (WebInspector.timelineProfilerWasStopped):
3034
3035 2009-10-01  Yong Li  <yong.li@torchmobile.com>
3036
3037         Reviewed by Adele Peterson.
3038
3039         Fix crash when loading invalid image data
3040         https://bugs.webkit.org/show_bug.cgi?id=29980
3041
3042         * rendering/RenderImage.cpp:
3043         (WebCore::RenderImage::setImageSizeForAltText):
3044
3045 2009-10-09  Stephen White  <senorblanco@chromium.org>
3046
3047         Reviewed by Eric Seidel.
3048
3049         Fix for NULL ptr deref in canvas's toDataURL().
3050         https://bugs.webkit.org/show_bug.cgi?id=30254
3051
3052         Test: fast/canvas/canvas-toDataURL-crash.html
3053
3054         * html/HTMLCanvasElement.cpp:
3055         (WebCore::HTMLCanvasElement::toDataURL):
3056
3057 2009-10-14  Pavel Feldman  <pfeldman@chromium.org>
3058
3059         Not reviewed, reverting r49558 since it broke profiler tests.
3060
3061         https://bugs.webkit.org/show_bug.cgi?id=30328
3062
3063         * bindings/js/JSInspectorBackendCustom.cpp:
3064         * bindings/v8/custom/V8CustomBinding.h:
3065         * inspector/InspectorBackend.cpp:
3066         (WebCore::InspectorBackend::getProfileHeaders):
3067         (WebCore::InspectorBackend::getProfile):
3068         * inspector/InspectorBackend.h:
3069         * inspector/InspectorBackend.idl:
3070         * inspector/InspectorController.cpp:
3071         (WebCore::InspectorController::addProfile):
3072         (WebCore::InspectorController::getProfileHeaders):
3073         (WebCore::InspectorController::getProfile):
3074         (WebCore::InspectorController::createProfileHeader):
3075         * inspector/InspectorController.h:
3076         * inspector/InspectorFrontend.cpp:
3077         (WebCore::InspectorFrontend::addProfileHeader):
3078         (WebCore::InspectorFrontend::didGetProfileHeaders):
3079         (WebCore::InspectorFrontend::didGetProfile):
3080         * inspector/InspectorFrontend.h:
3081         * inspector/JavaScriptProfileNode.cpp:
3082         (WebCore::ProfileNodeClass):
3083         * inspector/front-end/ProfileView.js:
3084         (WebInspector.ProfileView.profileCallback):
3085         (WebInspector.ProfileView):
3086         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
3087         (WebInspector.ProfileView.prototype._assignParentsInProfile):
3088         * inspector/front-end/ProfilesPanel.js:
3089         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3090         * inspector/front-end/inspector.js:
3091         (WebInspector.addProfileHeader):
3092
3093 2009-10-13  Holger Hans Peter Freyther  <zecke@selfish.org>
3094
3095         Reviewed by Simon Hausmann.
3096
3097         ImageDecoderQt: Minor tweaks to the decoder
3098
3099         - Only cache the data when we start to use it.
3100         - Start with a repetition count of none for normal images.
3101         - Do not use canRead as this will trigger parsing of the full image
3102         - Cope with a GIF failing to decode the first frame, do not
3103           set m_failed to true if decoding the first frame failed
3104         - Inform the QImageReader about the format that was detected
3105         - Always create a ImageDecoderQt when when we have more
3106         than four byte.
3107
3108
3109         * platform/graphics/qt/ImageDecoderQt.cpp:
3110         (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up
3111         (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone
3112         (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received
3113         (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice.
3114         (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String
3115         (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode
3116         (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize()
3117         (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails
3118         * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type
3119
3120 2009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
3121
3122         Reviewed by Pavel Feldman.
3123
3124         Web Inspector: Migrate profiles to the injected script-based schema.
3125
3126         https://bugs.webkit.org/show_bug.cgi?id=30328
3127
3128         * bindings/js/JSInspectorBackendCustom.cpp:
3129         * bindings/v8/custom/V8CustomBinding.h:
3130         * inspector/InspectorBackend.cpp:
3131         (WebCore::InspectorBackend::getProfileHeaders):
3132         (WebCore::InspectorBackend::getProfile):
3133         * inspector/InspectorBackend.h:
3134         * inspector/InspectorBackend.idl:
3135         * inspector/InspectorController.cpp:
3136         (WebCore::InspectorController::addProfile):
3137         (WebCore::InspectorController::getProfileHeaders):
3138         (WebCore::InspectorController::getProfile):
3139         (WebCore::InspectorController::createProfileHeader):
3140         * inspector/InspectorController.h:
3141         * inspector/InspectorFrontend.cpp:
3142         (WebCore::InspectorFrontend::addProfileHeader):
3143         (WebCore::InspectorFrontend::didGetProfileHeaders):
3144         (WebCore::InspectorFrontend::didGetProfile):
3145         * inspector/InspectorFrontend.h:
3146         * inspector/JavaScriptProfileNode.cpp:
3147         (WebCore::ProfileNodeClass):
3148         * inspector/front-end/ProfileView.js:
3149         (WebInspector.ProfileView.profileCallback):
3150         (WebInspector.ProfileView):
3151         (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
3152         (WebInspector.ProfileView.prototype._assignParentsInProfile):
3153         * inspector/front-end/ProfilesPanel.js:
3154         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3155         * inspector/front-end/inspector.js:
3156         (WebInspector.addProfileHeader):
3157
3158 2009-10-13  Yury Semikhatsky  <yurys@chromium.org>
3159
3160         Reviewed by Pavel Feldman.
3161
3162         Don't collect call frame properties until they're needed for completion.
3163
3164         https://bugs.webkit.org/show_bug.cgi?id=30334
3165
3166         * inspector/front-end/ConsoleView.js:
3167         (WebInspector.ConsoleView.prototype.completions):
3168         * inspector/front-end/InjectedScript.js:
3169         (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
3170         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
3171         * inspector/front-end/ScriptsPanel.js:
3172
3173 >>>>>>> .r49765
3174 2009-10-13  Yongjun Zhang  <yongjun.zhang@nokia.com>
3175
3176         Reviewed by Ariya Hidayat.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=29106
3179         [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler.
3180
3181         Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw
3182         compiler aggressively resolve inheritance of class R.  
3183         
3184         The winscw compiler bug is reported at:
3185         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
3186         
3187         The change should be reverted when the above bug is fixed in winscw compiler.
3188
3189         * loader/CachedResourceHandle.h:
3190         (WebCore::::CachedResourceHandle):
3191
3192 2009-10-13  Dimitri Glazkov  <dglazkov@chromium.org>
3193
3194         No review, rolling out r49554, because it broke Win and Chromium builds.
3195         http://trac.webkit.org/changeset/49554
3196
3197         * css/CSSPrimitiveValue.cpp:
3198         (WebCore::CSSPrimitiveValue::cssText):
3199
3200 2009-10-13  Evan Martin  <evan@chromium.org>
3201
3202         Reviewed by Adam Barth.
3203
3204         Stringify CSS units manually (without printf) to make the formatting
3205         locale-insensitive and obey CSS spec with respect to large values.
3206         
3207         https://bugs.webkit.org/show_bug.cgi?id=18994
3208
3209         * css/CSSPrimitiveValue.cpp:
3210         (WebCore::appendCSSDouble):
3211         (WebCore::formatWithUnits):
3212         (WebCore::CSSPrimitiveValue::cssText):
3213
3214 2009-10-13  Evan Martin  <evan@chromium.org>
3215
3216         Reviewed by David Levin.
3217
3218         Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
3219         While we're rebaselining scrollbars, fix an off by one in the vertical
3220         scrollbar rendering too.
3221
3222         https://bugs.webkit.org/show_bug.cgi?id=30319
3223
3224         Tests: this is covered by every pixel test involving scrollbars.
3225
3226         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3227         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
3228
3229 2009-10-13  Sam Weinig  <sam@webkit.org>
3230
3231         Reviewed by David Hyatt.
3232
3233         Fix issue where clientX and clientY on MouseEvents were wrong when
3234         the page was zoomed and scrolled.
3235
3236         Test: fast/events/clientXY-in-zoom-and-scroll.html
3237
3238         * dom/MouseRelatedEvent.cpp:
3239         (WebCore::contentsX): Take page zoom into account.
3240         (WebCore::contentsY): Ditto.
3241
3242 2009-10-13  Dave Hyatt  <hyatt@apple.com>
3243
3244         Reviewed by Adam Roben.
3245
3246         Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
3247         out into separate ones for scripts and stylesheets.
3248
3249         * WebCore.base.exp:
3250         * page/PageGroup.cpp:
3251         (WebCore::PageGroup::addUserScriptToWorld):
3252         (WebCore::PageGroup::addUserStyleSheetToWorld):
3253         (WebCore::PageGroup::removeUserScriptFromWorld):
3254         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3255         (WebCore::PageGroup::removeUserScriptsFromWorld):
3256         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3257         * page/PageGroup.h:
3258         (WebCore::PageGroup::userScripts):
3259         (WebCore::PageGroup::userStyleSheets):
3260
3261 2009-10-13  Evan Martin  <evan@chromium.org>
3262
3263         Reviewed by Dmitry Titov.
3264
3265         Chrome's "Skia" theme paints select controls backwards in RTL.
3266
3267         https://bugs.webkit.org/show_bug.cgi?id=30320
3268
3269         Test: fast/text/international/bidi-menulist.html
3270         (The test is about something else, but it includes RTL selects.)
3271
3272         * rendering/RenderThemeChromiumSkia.cpp:
3273         (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.
3274
3275 2009-10-13  Dmitry Titov  <dimich@chromium.org>
3276
3277         Reviewed by Alexey Proskuryakov.
3278
3279         https://bugs.webkit.org/show_bug.cgi?id=30318
3280         ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
3281         It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
3282         into EventListener constructor but did not remove the code pulling ScriptExecutionContext.
3283
3284         Tests:
3285         Test adds event listener to a DocumentType Node which is created without a document
3286         and then dispatches the event after attaching a node to the tree. Event
3287         should fire when node is attached to the tree.
3288
3289         * fast/events/add-event-without-document-expected.txt: Added.
3290         * fast/events/add-event-without-document.html: Added.
3291
3292         All changes in files below are the same - remove the code that calls
3293         EventTarget::scriptExecutionContext and checks it for NULL.
3294
3295         * bindings/js/JSAbstractWorkerCustom.cpp:
3296         (WebCore::JSAbstractWorker::addEventListener):
3297         (WebCore::JSAbstractWorker::removeEventListener):
3298         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3299         (WebCore::JSDOMApplicationCache::addEventListener):
3300         (WebCore::JSDOMApplicationCache::removeEventListener):
3301         * bindings/js/JSDesktopNotificationsCustom.cpp:
3302         (WebCore::JSNotification::addEventListener):
3303         (WebCore::):
3304         * bindings/js/JSEventSourceCustom.cpp:
3305         (WebCore::JSEventSource::addEventListener):
3306         (WebCore::JSEventSource::removeEventListener):
3307         * bindings/js/JSMessagePortCustom.cpp:
3308         (WebCore::JSMessagePort::addEventListener):
3309         (WebCore::JSMessagePort::removeEventListener):
3310         * bindings/js/JSNodeCustom.cpp:
3311         (WebCore::JSNode::addEventListener):
3312         (WebCore::JSNode::removeEventListener):
3313         * bindings/js/JSSVGElementInstanceCustom.cpp:
3314         (WebCore::JSSVGElementInstance::addEventListener):
3315         (WebCore::JSSVGElementInstance::removeEventListener):
3316         * bindings/js/JSXMLHttpRequestCustom.cpp:
3317         (WebCore::JSXMLHttpRequest::addEventListener):
3318         (WebCore::JSXMLHttpRequest::removeEventListener):
3319         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3320         (WebCore::JSXMLHttpRequestUpload::addEventListener):
3321         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3322         * bindings/js/JSWebSocketCustom.cpp:
3323         (WebCore::JSWebSocket::addEventListener):
3324         (WebCore::JSWebSocket::removeEventListener):
3325
3326 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
3327
3328         Reviewed by David Levin.
3329
3330         Enable SHARED_WORKERS for Chromium
3331         https://bugs.webkit.org/show_bug.cgi?id=30289
3332
3333         Cleaned up bitrot in SharedWorker V8 bindings.
3334
3335         * WebCore.gypi:
3336         Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
3337         * bindings/v8/DerivedSourcesAllInOne.cpp:
3338         Added V8SharedWorkerContext.cpp.
3339         * bindings/v8/V8DOMWrapper.cpp:
3340         (WebCore::V8DOMWrapper::getTemplate):
3341         Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
3342         * bindings/v8/V8Index.cpp:
3343         Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
3344         * bindings/v8/V8Index.h:
3345         Added definition for SHAREDWORKERCONTEXT wrapper.
3346         * bindings/v8/WorkerContextExecutionProxy.cpp:
3347         Added includes for SharedWorker.h and SharedWorkerContext.h.
3348         * bindings/v8/custom/V8CustomBinding.h:
3349         Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
3350         Also added field indexes for SharedWorkers.
3351         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3352         (WebCore::ACCESSOR_RUNTIME_ENABLER):
3353         Added runtime enabler for the SharedWorker constructor.
3354         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
3355         (WebCore::CALLBACK_FUNC_DECL):
3356         Cleaned up bitrot (various APIs have changed since this file was written).
3357         * page/DOMWindow.idl:
3358         Added EnabledAtRuntime flag to window.SharedWorker.
3359
3360 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
3361
3362         Reviewed by Brady Eidson.
3363
3364         https://bugs.webkit.org/show_bug.cgi?id=30345
3365         HTTP tests for credential handling fail on Tiger
3366
3367         We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
3368         let it do its work without intervention. Once again, we pass explicitly passed credentials
3369         in URL, fixing regressions from Safari 3.
3370
3371         * platform/network/mac/ResourceHandleMac.mm:
3372         (WebCore::ResourceHandle::start):
3373         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
3374         (WebCore::ResourceHandle::receivedCredential):
3375
3376 2009-10-13  Roland Steiner  <rolandsteiner@google.com>
3377
3378         Reviewed by Adam Barth.
3379
3380         Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
3381
3382         Reworked and added to the getter/setter interface in ChromiumDataObject:
3383         - added contains...() methods to just query the state
3384         - added containsValid...URL() methods for URL data members
3385         - removed takeFileNames() as this was too type-dependent
3386         - changed return type of fileNames() to Vector<String>
3387         - added interface methods to allow appending to and iteration over file names
3388
3389         No new tests (no functional behavior changed).
3390
3391         * platform/chromium/ChromiumDataObject.h:
3392         (WebCore::ChromiumDataObject::containsMainURL):
3393         (WebCore::ChromiumDataObject::containsValidMainURL):
3394         (WebCore::ChromiumDataObject::containsMainURLTitle):
3395         (WebCore::ChromiumDataObject::containsTextPlain):
3396         (WebCore::ChromiumDataObject::containsTextHTML):
3397         (WebCore::ChromiumDataObject::containsHTMLBaseURL):
3398         (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
3399         (WebCore::ChromiumDataObject::containsContent):
3400         (WebCore::ChromiumDataObject::containsContentFileExtension):
3401         (WebCore::ChromiumDataObject::containsContentFileName):
3402         (WebCore::ChromiumDataObject::setContentFileName):
3403         (WebCore::ChromiumDataObject::containsFileNames):
3404         (WebCore::ChromiumDataObject::fileNames):
3405         (WebCore::ChromiumDataObject::clearFileNames):
3406         (WebCore::ChromiumDataObject::countFileNames):
3407         (WebCore::ChromiumDataObject::fileNameAt):
3408         (WebCore::ChromiumDataObject::setFileNames):
3409         (WebCore::ChromiumDataObject::appendToFileNames):
3410         (WebCore::ChromiumDataObject::popFileName):
3411
3412 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
3413
3414         Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.
3415
3416         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3417         (WebCore::GraphicsContext3D::GraphicsContext3D):
3418
3419 2009-10-13  Simon Fraser  <simon.fraser@apple.com>
3420
3421         Reviewed by Dan Bernstein.
3422
3423         Visibility:visible inside a compositing layer doesn't make the element visible
3424         https://bugs.webkit.org/show_bug.cgi?id=30339
3425         
3426         When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
3427         only consulted hasVisibleContent(), which does not take into a account child layers which
3428         may be visible. We also have to consult hasVisibleDescendant() as well.
3429
3430         Test: compositing/compositing-visible-descendant.html
3431
3432         * rendering/RenderLayer.h:
3433         (WebCore::RenderLayer::hasVisibleDescendant):
3434         * rendering/RenderLayerBacking.cpp:
3435         (WebCore::RenderLayerBacking::paintIntoLayer):
3436
3437 2009-10-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3438
3439         Reviewed by Simon Hausmann.
3440
3441         Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
3442         https://bugs.webkit.org/show_bug.cgi?id=30278
3443
3444         Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 
3445         from the make system into common code.
3446
3447         Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 
3448         support is not enabled.
3449
3450         Remove notImplemented() from PluginPackageNone.cpp and 
3451         PluginDataNone.cpp make them just empty functions.
3452
3453         * GNUmakefile.am:
3454         * WebCore.pro:
3455         * plugins/PluginDataNone.cpp:
3456         (WebCore::PluginData::initPlugins):
3457         (WebCore::PluginData::refresh):
3458         * plugins/PluginPackageNone.cpp:
3459         (WebCore::PluginPackage::determineQuirks):
3460         (WebCore::PluginPackage::fetchInfo):
3461         (WebCore::PluginPackage::load):
3462
3463 2009-10-13  Alexey Proskuryakov  <ap@apple.com>
3464
3465         Reviewed by Dan Bernstein.
3466
3467         https://bugs.webkit.org/show_bug.cgi?id=30150
3468         <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types
3469
3470         Test: editing/pasteboard/crash-accessing-clipboardData-types.html
3471
3472         * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String
3473         class doesn't have operator bool, it's operator NSString* that is invoked instead, and it
3474         converts null strings to non-null @"".
3475
3476 2009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
3477
3478         Reviewed by Dimitri Glazkov.
3479
3480         window attributes (like localStorage) that are disabled at runtime are still visible
3481         https://bugs.webkit.org/show_bug.cgi?id=30240
3482
3483         Adding codegen/bindings to support runtime disabling of attributes.
3484
3485         No new tests (only supported by chrome currently)
3486
3487         * bindings/scripts/CodeGeneratorV8.pm:
3488         Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct.
3489         Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance.
3490         * bindings/v8/V8Proxy.cpp:
3491         (WebCore::batchConfigureAttributes):
3492         Refactored attribute setting code into a common inline routine.
3493         * bindings/v8/V8Proxy.h:
3494         (WebCore::configureAttribute):
3495         Inline function which configures a single attribute given a BatchedAttribute struct.
3496         * bindings/v8/custom/V8CustomBinding.h:
3497         Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime.
3498         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3499         Added code to enable window.Audio only if MediaPlayer.isAvailable() == true
3500         * page/DOMWindow.idl:
3501         Added [EnabledAtRuntime] extended attribute to the Audio attribute.
3502
3503 2009-10-13  Michelangelo De Simone  <micdesim@gmail.com>
3504
3505         Reviewed by Adam Barth.
3506
3507         https://bugs.webkit.org/show_bug.cgi?id=27457
3508         Added support for static validation on type=email input elements as per
3509         HTML5 specs:
3510         http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state
3511
3512         Test: fast/forms/ValidityState-typeMismatch-email.html
3513
3514         * html/ValidityState.cpp:
3515         (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch
3516         performs validation on type=email input elements now.
3517         (WebCore::ValidityState::isValidEmailAddress): simple validation method 
3518         * html/ValidityState.h:
3519
3520 2009-10-13  Dmitry Titov  <dimich@chromium.org>
3521
3522         Reviewed by Adam Barth.
3523
3524         Event listeners installed on a window object returned from window.open() don't work
3525         https://bugs.webkit.org/show_bug.cgi?id=28716
3526
3527         Tests: http/tests/security/window-events-clear-domain.html
3528                http/tests/security/window-events-clear-port.html
3529                http/tests/security/window-events-pass.html
3530
3531         * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all
3532         window event handlers when implicitOpen is called. It is called in 2 cases - on
3533         committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers).
3534
3535         (WebCore::Document::open): in addition to calling implicitOpen it also removes window
3536         event handlers, to preserve the behavior of document.open().
3537
3538         (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that
3539         does not remove window event handlers.
3540
3541         * dom/Document.h: Removed clear().
3542
3543         * loader/FrameLoader.cpp:
3544         (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers
3545         if we transition from temporary empty document to a loaded one.
3546
3547         (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading.
3548         (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above.
3549
3550 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
3551
3552         Reviewed by Pavel Feldman.
3553
3554         Fix a leak in the inspector by calling didRemoveNode with
3555         an error code when it fails, instead of returning from the
3556         Backend.
3557
3558         * inspector/InspectorBackend.cpp:
3559         (WebCore::InspectorBackend::removeNode):
3560         * inspector/front-end/ElementsTreeOutline.js:
3561
3562 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
3563
3564         Reviewed by Timothy Hatcher.
3565
3566         Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>.
3567         Web Inspector: Should be able to delete nodes from the Elements Tree.
3568         
3569         When the delete key is pressed and a element is selected in the tree,
3570         the element should be deleted from the Elements Tree and the DOM.
3571
3572         * inspector/InspectorBackend.cpp:
3573         (WebCore::InspectorBackend::removeNode):
3574         * inspector/InspectorBackend.h:
3575         * inspector/InspectorBackend.idl:
3576         * inspector/InspectorFrontend.cpp:
3577         (WebCore::InspectorFrontend::didRemoveNode):
3578         * inspector/InspectorFrontend.h:
3579         * inspector/front-end/ElementsPanel.js:
3580         (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
3581         * inspector/front-end/ElementsTreeOutline.js:
3582         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent):
3583
3584 2009-10-13  Brian Weinstein  <bweinstein@apple.com>
3585
3586         Reviewed by Timothy Hatcher.
3587
3588         Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings.
3589         
3590         Set pointer-events: none on the new overlay so mouseover events are passed
3591         to the resources graph so we can show timings.
3592
3593         * inspector/front-end/inspector.css:
3594
3595 2009-10-13  Girish Ramakrishnan  <girish@forwardbias.in>
3596
3597         Reviewed by Simon Hausmann.
3598
3599         [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
3600         
3601         This is a bug for two reasons:
3602         1. Everytime we use winId(), we end up creating a native widget. This causes an
3603         unnecessary copy of contents from the backing store to the native widget.
3604         2. Neither windowed nor windowless plugins require the winId of the QWebView or
3605         QGraphicsView.
3606         
3607         Introduce ownerWidget() which returns a QWidget * without creating a native widget
3608         (as opposed to QWidget::find(winId)).
3609
3610        https://bugs.webkit.org/show_bug.cgi?id=30170
3611
3612         * platform/qt/PlatformScreenQt.cpp:
3613         (WebCore::screenDepthPerComponent):
3614         * platform/qt/PopupMenuQt.cpp:
3615         (WebCore::PopupMenu::show):
3616         * platform/qt/QWebPageClient.h:
3617         * plugins/qt/PluginViewQt.cpp:
3618         (WebCore::setSharedXEventFields):
3619         (WebCore::PluginView::initXEvent):
3620         (WebCore::PluginView::getValue):
3621         (WebCore::PluginView::platformStart):
3622
3623 2009-10-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3624
3625         Unreviewed build system fix. Typo in a filename.