2011-02-03 Yury Semikhatsky <yurys@chromium.org>
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-02-03  Yury Semikhatsky  <yurys@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: remove settings related methods from InspectorClient
6         https://bugs.webkit.org/show_bug.cgi?id=53686
7
8         * WebCore.exp.in:
9         * inspector/CodeGeneratorInspector.pm:
10         * inspector/InspectorClient.h:
11         * inspector/InspectorFrontendClientLocal.cpp:
12         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
13         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
14         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
15         * inspector/InspectorFrontendClientLocal.h: ports that provide in-process implementation of the inspector front-end can
16         provide platform-specific settings accessor.
17         (WebCore::InspectorFrontendClientLocal::Settings::Settings):
18         (WebCore::InspectorFrontendClientLocal::Settings::~Settings):
19         (WebCore::InspectorFrontendClientLocal::Settings::inspectorAttachedHeight):
20         (WebCore::InspectorFrontendClientLocal::Settings::storeInspectorAttachedHeight):
21         * loader/EmptyClients.h:
22
23 2011-02-03  Anton Muhin  <antonm@chromium.org>
24
25         Reviewed by Adam Barth.
26
27         [v8] frame several more JS code invocations into v8::TryCatch
28         https://bugs.webkit.org/show_bug.cgi?id=53594
29
30         This patch is preemptive and adjusts v8 bindings code to forthcoming small change
31         in v8::ThrowException---currently sometimes exceptions thrown by this method
32         do not reach surrounding v8::TryCatch handler (see
33         http://code.google.com/p/v8/issues/detail?id=1072 and
34         http://codereview.chromium.org/6397011/).  Therefore the goal of this patch
35         is to make forthcoming v8 roll as smooth as possible (alas, we'll still need
36         one rebaseline as of now.)
37
38         * bindings/v8/V8Proxy.cpp:
39         (WebCore::V8Proxy::runScript): Do not rely on empty handle as a signal of exception, wrap into v8::TryCatch instead
40         * bindings/v8/V8WindowErrorHandler.cpp:
41         (WebCore::V8WindowErrorHandler::callListenerFunction): Ditto
42
43 2011-02-03  Maciej Stachowiak  <mjs@apple.com>
44
45         Reviewed by Dan Bernstein.
46
47         WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
48         https://bugs.webkit.org/show_bug.cgi?id=52897
49         <rdar://problem/8898294>
50
51         * WebCore.exp.in: Add export now needed by WebKit2
52
53 2011-02-03  Victoria Kirst  <vrk@google.com>
54
55         Reviewed by James Robinson.
56
57         Replaces float literals with uniform values in shader code
58         so that buggy drivers unable to parse float values in different
59         locales will not produce a pink video.
60
61         [chromium] Fix pink video bug with gpu-acceleration enabled
62         https://bugs.webkit.org/show_bug.cgi?id=53568
63
64         * platform/graphics/chromium/VideoLayerChromium.cpp:
65         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
66         (WebCore::VideoLayerChromium::drawYUV):
67         * platform/graphics/chromium/VideoLayerChromium.h:
68         (WebCore::VideoLayerChromium::SharedValues::signAdjLocation):
69
70 2011-02-03  James Kozianski  <koz@chromium.org>
71
72         Reviewed by Dimitri Glazkov.
73
74         Add navigator.registerProtocolHandler behind a flag.
75         https://bugs.webkit.org/show_bug.cgi?id=52609
76
77         This method is described in the HTML5 specification here,
78         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
79
80         This change is largely cribbed from B. Green's 29651 patches. It is
81         behind a flag so as not to break JS feature detection.
82
83         New layout test fast/dom/registerProtocolHandler.html.
84
85         * Configurations/FeatureDefines.xcconfig:
86         * loader/EmptyClients.h:
87         (WebCore::EmptyChromeClient::registerProtocolHandler):
88         * page/Chrome.cpp:
89         (WebCore::Chrome::registerProtocolHandler):
90         * page/Chrome.h:
91         * page/ChromeClient.h:
92         * page/Navigator.cpp:
93         (WebCore::verifyCustomHandlerURL):
94         (WebCore::verifyProtocolHandlerScheme):
95         (WebCore::Navigator::registerProtocolHandler):
96         * page/Navigator.h:
97         * page/Navigator.idl:
98
99 2011-02-03  Brian Ryner  <bryner@chromium.org>
100
101         Reviewed by Darin Fisher.
102
103         Add a field to the ResourceResponse for tracking the socket address
104         of the host that the resource was fetched from.  Patch was originally
105         by Paul Marks.
106         https://bugs.webkit.org/show_bug.cgi?id=53699
107
108         * platform/network/chromium/ResourceResponse.cpp:
109         (WebCore::ResourceResponse::doPlatformCopyData):
110         (WebCore::ResourceResponse::doPlatformAdopt):
111         * platform/network/chromium/ResourceResponse.h:
112         (WebCore::ResourceResponse::socketAddress):
113         (WebCore::ResourceResponse::setSocketAddress):
114
115 2011-02-03  Adam Langley  <agl@chromium.org>
116
117         Reviewed by Adam Barth.
118
119         Plumb mixed script URL to FrameLoaderClient
120         https://bugs.webkit.org/show_bug.cgi?id=52384
121
122         Regressions covered by http/tests/security/mixedContent/*
123
124         * loader/EmptyClients.h:
125         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
126         * loader/FrameLoader.cpp:
127         (WebCore::FrameLoader::checkIfRunInsecureContent):
128         * loader/FrameLoaderClient.h:
129
130 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
131
132         Reviewed by Dan Bernstein.
133
134         REGRESSION: Artifacts on box-shadow corners in some cases
135         https://bugs.webkit.org/show_bug.cgi?id=53731
136
137         Fix overdrawing artifacts in ShadowBlur's tiling code path,
138         which show up in shadows using a color with alpha.
139         
140         Test: fast/box-shadow/shadow-tiling-artifact.html
141
142         * platform/graphics/ShadowBlur.cpp:
143         (WebCore::ShadowBlur::drawRectShadowWithTiling): Ensure
144         that the inner rect that gets filled does not overlap with any
145         of the eight tiled areas by having the corner and side dimensions
146         be the same for contiguous areas.
147
148 2011-02-03  Adam Barth  <abarth@webkit.org>
149
150         Reviewed by Alexey Proskuryakov.
151
152         XSS Auditor is spinning inside decodeURLEscapeSequences() if there are
153         percent signs in large posted data
154         https://bugs.webkit.org/show_bug.cgi?id=53405
155
156         If the input string contains many non-% characters followed by a %
157         character that is not a valid URL escape sequence, then the old
158         algorithm would only advance the initial search by one character
159         (instead of jumping to just after the % character).  That would cause
160         the algorithm to take N^2 time (in the number of characters before the
161         first % character).  This patch just advances the search past the first
162         % character so we can start looking for next % character sooner.
163
164         * platform/KURL.cpp:
165         (WebCore::decodeURLEscapeSequences):
166
167 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
168
169         Reviewed by Pavel Feldman.
170
171         Web Inspector: click on a breakpoint highlights wrong line in source frame.
172         https://bugs.webkit.org/show_bug.cgi?id=53692
173
174         * inspector/front-end/BreakpointsSidebarPane.js:
175         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
176
177 2011-02-03  Anton Muhin  <antonm@chromium.org>
178
179         Reviewed by Adam Barth.
180
181         [v8] Bail out if to string conversion returned empty handle
182         https://bugs.webkit.org/show_bug.cgi?id=53687
183
184         This a temporary measure: actually one probably should never get empty handle
185         if there was no exception.  The root cause is under investigation.
186         The bailout though allows Chromium not to crash---attempt to convert an empty
187         v8 hande into WebCore string crashes with invalid memory access.
188
189         See http://code.google.com/p/chromium/issues/detail?id=71544
190
191         There is no known reduction expressible as a layout test so far.  The crash found with automated testing tools.
192
193         * bindings/v8/V8Binding.cpp:
194         (WebCore::v8NonStringValueToWebCoreString): Bail out on empty handle
195         * bindings/v8/V8Binding.h:
196         (WebCore::V8ParameterBase::prepareBase): Ditto
197
198 2011-02-03  Adam Barth  <abarth@webkit.org>
199
200         Attempt to fix Chromium build.
201
202         * html/parser/XSSFilter.cpp:
203
204 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
205
206         Unreviewed, rolling out r77562.
207         http://trac.webkit.org/changeset/77562
208         https://bugs.webkit.org/show_bug.cgi?id=53630
209
210         broke chromium mac build
211
212         * WebCore.gyp/WebCore.gyp:
213         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
214
215 2011-02-03  Adam Barth  <abarth@webkit.org>
216
217         Reviewed by Daniel Bates.
218
219         XSS Auditor severely affects loading performance after submitting a large form
220         https://bugs.webkit.org/show_bug.cgi?id=49845
221
222         Switch over from the XSSAuditor to the XSSFilter, improving performance
223         on this example.
224
225         * html/parser/XSSFilter.cpp:
226         (WebCore::XSSFilter::filterToken):
227         * page/XSSAuditor.cpp:
228         (WebCore::XSSAuditor::isEnabled):
229
230 2011-02-03  Dirk Pranke  <dpranke@chromium.org>
231
232         Unreviewed, rolling out r77567.
233         http://trac.webkit.org/changeset/77567
234         https://bugs.webkit.org/show_bug.cgi?id=53468
235
236         broke chromium linux svg, canvas tests, possibly win also?
237
238         * platform/graphics/skia/ImageBufferSkia.cpp:
239         (WebCore::getImageData):
240         (WebCore::ImageBuffer::getUnmultipliedImageData):
241         (WebCore::ImageBuffer::getPremultipliedImageData):
242         (WebCore::putImageData):
243         (WebCore::ImageBuffer::putUnmultipliedImageData):
244         (WebCore::ImageBuffer::putPremultipliedImageData):
245
246 2011-02-02  MORITA Hajime  <morrita@google.com>
247
248         Reviewed by Dimitri Glazkov.
249
250         Refactoring: <progress> should not use ShadowElement
251         https://bugs.webkit.org/show_bug.cgi?id=53583
252
253         - Introduced RenderIndicatorPart and RenderProgressBarValuePart
254           to be responsible for bar-part layout,
255           which adopted layout logic from ShadowBlockElement.
256         - ProgressBarValueElement is no longer a subclass of ShadowBlockElement.
257         - Remove dependency from RenderProgress to HTMLProgressElement and
258           ShadowBlockElement.
259         - The shadow tree is no longer removed on detach(). It becomes persistent.
260           This is now possible because the ShadowBlockElement dependency is gone.
261         - ::-webkit-appearance for -webkit-progress-bar-value is no longer referred.
262           That didn't make sense.
263
264         * html/HTMLProgressElement.cpp:
265         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
266         * html/HTMLProgressElement.h:
267         * html/shadow/ProgressBarValueElement.h: Added.
268         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
269         (WebCore::ProgressBarValueElement::shadowPseudoId):
270         (WebCore::ProgressBarValueElement::createRenderer):
271         (WebCore::ProgressBarValueElement::create):
272         * rendering/RenderIndicator.cpp:
273         (WebCore::RenderIndicatorPart::RenderIndicatorPart):
274         (WebCore::RenderIndicatorPart::~RenderIndicatorPart):
275         (WebCore::RenderIndicatorPart::layout):
276         (WebCore::RenderIndicatorPart::styleDidChange):
277         * rendering/RenderIndicator.h: Added RenderIndicatorPart class
278         (WebCore::RenderIndicatorPart::originalVisibility):
279         (WebCore::RenderIndicatorPart::requiresForcedStyleRecalcPropagation):
280         (WebCore::RenderIndicatorPart::canHaveChildren):
281         * rendering/RenderProgress.cpp:
282         (WebCore::RenderProgressBarValuePart::preferredFrameRect):
283         (WebCore::RenderProgressBarValuePart::shouldBeHidden):
284         (WebCore::RenderProgress::updateFromElement):
285         (WebCore::RenderProgress::layoutParts):
286         (WebCore::RenderProgress::shouldHaveParts):
287         * rendering/RenderProgress.h:
288         (WebCore::RenderProgressBarValuePart::RenderProgressBarValuePart):
289
290 2011-02-03  Jia Pu  <jpu@apple.com>
291
292         Reversion should not be marked as misspelled.
293         https://bugs.webkit.org/show_bug.cgi?id=53255
294
295         This patch includes fix for reported bug, and also some housekeeping changes.
296
297         To implement desired behavior, we need:
298         1. Add a new marker type, SpellCheckingExemption, since now we distingusish between text
299            that shouldn't be spellchecked and text shouldn't be autocorrected.
300         2. Make sure that there is no pending correction panel when we enter markAllMisspellingsAndBadGrammarInRanges().
301            Otherwise the spell checking code in that function may interfere with autocorrection. This
302            is achieved by explicitly applying pending correction when user types space, line break or
303            paragraph break.
304
305         Housekeeping code changes include:
306         1. Change manual-tests that were broken by relocated WebCore directory.
307         2. Use TextIterator in various DocumentMarkerController functions instead of using
308            Node::traverseNextNode() directly.
309         3. Allow passing multiple marker types into DocumentMarkerController::removeMarkers() and
310            DocumentMarkerController::hasMarkers() to improve clarity and efficiency.
311         4. Fixes of minor bugs that were exposed previously.
312
313         * WebCore.exp.in: Change signature of DocumentMarkerController::removeMarkers().
314
315         * dom/DocumentMarker.h: Added new marker type SpellCheckingExemption.
316
317         * dom/DocumentMarkerController.cpp:
318         (WebCore::DocumentMarkerController::removeMarkers): Use TextIterator to scan the range to be
319            consistent with addMarker() function. Allow passing in multiple marker types in one call.
320            Added a boolean argument to specify the behavior when removing markers that partially
321            overlap the specified range.
322         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): Allow passing in
323            multiple marker types in one call.
324         (WebCore::DocumentMarkerController::hasMarkers): Use TextIterator to scan the range to be
325            consistent with addMarker() function. Allow passing in multiple marker types in one call.
326
327         * dom/DocumentMarkerController.h: Allow passing in multiple marker types to removeMarkers()
328            and hasMarkers(). Added a boolean argument to removeMarkers() to specify the behavior when
329            removing markers that partially overlap the specified range.
330
331         * editing/Editor.cpp:
332         (WebCore::markerTypesForAutocorrection): Add SpellCheckingExemption marker when apply correction.
333         (WebCore::markerTypesForReplacement): Ditto.
334         (WebCore::Editor::respondToChangedSelection): Reordered call to dismissCorrectionPanel() and
335            setSelection() to make sure there is no pending correction when entering
336            markAllMisspellingsAndBadGrammarInRanges().
337         (WebCore::Editor::appliedEditing): Only remove CorrectionIndicator markers when the command
338            is a top level command to improve efficiency.
339         (WebCore::Editor::insertTextWithoutSendingTextEvent): Added code to applying pending correction.
340         (WebCore::Editor::insertLineBreak): Ditto.
341         (WebCore::Editor::insertParagraphSeparator): Ditto.
342         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Don't mark mispelling if the
343            text carries SpellCheckingExemption marker.
344         (WebCore::Editor::correctionPanelTimerFired): Reset correction panel if the returned suggestion
345            from spellchecker is an empty string.
346         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
347            Use new DocumentMarkerController::removeMarkers() to replace custom implemenation to improve
348            efficiency and readability.
349         (WebCore::Editor::applyCorrectionPanelInfo): Remove the code that set caret position after
350            applying correction, since it's unnecessary. Also, store pre-correction string together with
351            the marker for reversion panel to use.
352         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): Apply pending correction.
353         (WebCore::Editor::changeSelectionAfterCommand): Moved marker removal code to Editor::appliedEditing()
354            where we have access to EditCommand object.
355
356         * editing/Editor.h: Added new function applyAutocorrectionAfterTypingIfAppropriate().
357
358         * manual-tests/autocorrection/autocorrection-cancelled-by-ESC.html: Change manual-tests that
359            were broken by relocated WebCore directory.
360
361         * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Ditto.
362
363         * manual-tests/autocorrection/autocorrection-contraction.html: Ditto.
364
365         * manual-tests/autocorrection/continue-typing-to-dismiss-reversion.html: Ditto.
366
367         * manual-tests/autocorrection/delete-to-dismiss-reversion.html: Ditto.
368
369         * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html: Ditto.
370
371         * manual-tests/autocorrection/dismiss-multiple-guesses.html: Ditto.
372
373         * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html: Ditto.
374
375         * manual-tests/autocorrection/select-from-multiple-guesses.html: Ditto.
376
377         * manual-tests/autocorrection/spell-checking-after-reversion.html: Added.
378
379         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: Change manual-tests that
380            were broken by relocated WebCore directory.
381
382         * rendering/InlineTextBox.cpp:
383         (WebCore::InlineTextBox::paintDocumentMarkers): Code clean-up to be more concise.
384
385 2011-02-03  Abhishek Arya  <inferno@chromium.org>
386
387         Unreviewed, qt build fix.
388
389         * rendering/RenderBlock.cpp:
390         (WebCore::RenderBlock::removeFloatingObject):
391
392 2011-02-03  Brian Salomon  <bsalomon@google.com>
393
394         Reviewed by James Robinson.
395
396         Handle non-raster backed images in getUnmultipliedImageData()
397         https://bugs.webkit.org/show_bug.cgi?id=53468
398
399         No new tests. Existing canvas tests sufficient
400         LayoutTests/canvas/philip/...
401
402         * platform/graphics/skia/ImageBufferSkia.cpp:
403         (WebCore::getImageData):
404         (WebCore::ImageBuffer::getUnmultipliedImageData):
405         (WebCore::ImageBuffer::getPremultipliedImageData):
406         (WebCore::putImageData):
407         (WebCore::ImageBuffer::putUnmultipliedImageData):
408         (WebCore::ImageBuffer::putPremultipliedImageData):
409
410 2011-02-03  Abhishek Arya  <inferno@chromium.org>
411
412         Reviewed by James Robinson.
413
414         Enforce more limits on root inline boxes height calculations.
415         https://bugs.webkit.org/show_bug.cgi?id=53729
416
417         Test: fast/overflow/overflow-height-float-not-removed-crash.html
418
419         * rendering/RenderBlock.cpp:
420         (WebCore::RenderBlock::removeFloatingObject): prevent logicalBottom to
421         become negative when logicalTop is INT_MAX.
422         (WebCore::RenderBlock::markLinesDirtyInBlockRange): when logicalBottom
423         is INT_MAX, we should dirty everything. So, we bail out to make
424         afterLowest equal to the lastRootBox() or lowestDirstLine.
425
426 2011-02-03  David Levin  <levin@chromium.org>
427
428         Reviewed by Adam Barth and Oliver Hunt.
429
430         Worker.importScript() should clean errors for cross origin imports.
431         https://bugs.webkit.org/show_bug.cgi?id=52871
432
433         Test: http/tests/workers/worker-importScriptsOnError.html
434
435         * bindings/js/WorkerScriptController.cpp:
436         (WebCore::WorkerScriptController::evaluate): Use sanitizeScriptError
437         to determine when to create a clean exception.
438         * bindings/v8/WorkerContextExecutionProxy.cpp:
439         (WebCore::WorkerContextExecutionProxy::evaluate): Ditto.
440         * dom/ScriptExecutionContext.cpp:
441         (WebCore::ScriptExecutionContext::sanitizeScriptError): Figure out
442         if the error needs to be cleaned up.
443         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Extracted
444         sanitizeScriptError for use by other places.
445         * dom/ScriptExecutionContext.h:
446         * workers/WorkerContext.cpp:
447         (WebCore::WorkerContext::importScripts): Use the reponse url when
448         telling the evaluate where the script came fro.
449         * workers/WorkerScriptLoader.cpp:
450         (WebCore::WorkerScriptLoader::responseURL): Expose the url that
451         the script was loaded from (which may be different from url() due
452         to redirects).
453         (WebCore::WorkerScriptLoader::didReceiveResponse): Capture the reponse url.
454         * workers/WorkerScriptLoader.h:
455
456 2011-02-03  Mark Mentovai  <mark@chromium.org>
457
458         Reviewed by Dimitri Glazkov.
459
460         Chromium GYP build fix.
461
462         When various settings were moved to webcore_prerequisites in r66364,
463         things that should have been direct_dependent_settings were not marked
464         as such. GYP 'defines', for example, make no sense on a 'none'-type
465         target such as webcore_prerequisites. It appears that it was intended
466         for these settings to be pushed to direct dependents, which would make
467         direct_dependent_settings correct.
468
469         Losing the ChromiumWebCoreObjC defines on the Mac, for example, caused
470         http://crbug.com/71537, which at best causes Mac console log spew, and
471         at worst may result in Chromium's copy of WebCore using system
472         definitions of certain Objective-C classes at runtime, or vice-versa.
473
474         The build now includes a postbuild step to prevent
475         http://crbug.com/71537 from regressing again. The build will fail upon
476         regression.
477
478         https://bugs.webkit.org/show_bug.cgi?id=53630
479
480         * WebCore.gyp/WebCore.gyp: Move things in webcore_prerequisites into
481           direct_dependent_settings as needed, add the check_objc_rename
482           postbuild step.
483         * WebCore.gyp/mac/check_objc_rename.sh: Added.
484
485 2011-02-03  Adam Barth  <abarth@webkit.org>
486
487         Reviewed by Eric Seidel.
488
489         Make XSSFilter go fast by adding a SuffixTree
490         https://bugs.webkit.org/show_bug.cgi?id=53665
491
492         The SuffixTree lets us quickly reject snippets if the POST data is
493         large (because we can avoid a linear scan over the POST data).
494
495         * html/parser/XSSFilter.cpp:
496         (WebCore::XSSFilter::init):
497         (WebCore::XSSFilter::isContainedInRequest):
498         * html/parser/XSSFilter.h:
499
500 2011-02-03  Mihai Parparita  <mihaip@chromium.org>
501
502         Reviewed by Alexey Proskuryakov.
503
504         REGRESSION (r77355): Page cache layout tests crash
505         https://bugs.webkit.org/show_bug.cgi?id=53648
506
507         Test: fast/events/pagehide-timeout.html
508         
509         Suspend active DOM objects after all pagehide event handlers have run,
510         otherwise it's possible for them to create more objects that weren't
511         getting suspended.
512
513         * history/CachedFrame.cpp:
514         (WebCore::CachedFrame::CachedFrame):
515
516 2011-02-03  Jeremy Orlow  <jorlow@chromium.org>
517
518         Reviewed by Nate Chapin.
519
520         SerializedScriptValue should not require v8 to create undefined and null values
521         https://bugs.webkit.org/show_bug.cgi?id=53730
522
523         Instead of creating a v8 type and passing that into the constructor, just use
524         the writer class directly. While I was at it, I cleaned up the code a bit too
525         by getting rid of the WireData/StringValue enum as I found that personally
526         confusing.
527
528         This is necessary because these methods are called by IndexedDB in the browser
529         process where v8 is not spun up.
530
531         No functionality changed and not possible to test.
532
533         * bindings/v8/SerializedScriptValue.cpp:
534         (WebCore::SerializedScriptValue::createFromWire):
535         (WebCore::SerializedScriptValue::create):
536         (WebCore::SerializedScriptValue::nullValue):
537         (WebCore::SerializedScriptValue::undefinedValue):
538         (WebCore::SerializedScriptValue::release):
539         (WebCore::SerializedScriptValue::SerializedScriptValue):
540         * bindings/v8/SerializedScriptValue.h:
541
542 2011-02-03  Beth Dakin  <bdakin@apple.com>
543
544         Reviewed by Sam Weinig.
545
546         Fix for <rdar://problem/8944544> Ability to animate track
547         for WKPainter scrollers
548
549         Two new WebKitSystemInterface functions.
550         * WebCore.exp.in:
551         * platform/mac/WebCoreSystemInterface.h:
552         * platform/mac/WebCoreSystemInterface.mm:
553
554         Use Scrollbar::convertFromContainingView() to return the right point.
555         * platform/mac/ScrollAnimatorMac.mm:
556         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
557         
558         ScrollKnobAnimation is now ScrollbarPartAnimation. It can
559         now be used to animate the knob or the track.
560         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
561         (-[ScrollbarPartAnimation setCurrentProgress:]):
562         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
563         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
564         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
565
566         Scrollbars need invalodating after the overlay state changes. 
567         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
568
569 2011-02-03  Sam Weinig  <sam@webkit.org>
570
571         Reviewed by Beth Dakin.
572
573         Scroll thumb jumps to top when resizing horizontally.
574
575         * platform/ScrollView.cpp:
576         (WebCore::ScrollView::updateScrollbars): Add call to update
577         the scrollbar's offset in the case where we may have created
578         a new scrollbar but have not changed the current position.
579
580 2011-02-03  Justin Schuh  <jschuh@chromium.org>
581
582         Reviewed by Dirk Schulze.
583
584         startAnimations should use a local, RefCounted Vector.
585         https://bugs.webkit.org/show_bug.cgi?id=53458
586
587         Test: svg/custom/use-animation-in-fill.html
588
589         * svg/SVGDocumentExtensions.cpp:
590         (WebCore::SVGDocumentExtensions::startAnimations):
591
592 2011-02-03  Adam Barth  <abarth@webkit.org>
593
594         Reviewed by Daniel Bates.
595
596         XSSFilter shouldn't bother to analyze pages without "injection"
597         characters in the request
598         https://bugs.webkit.org/show_bug.cgi?id=53664
599
600         If the request lacks these "injection" characters, then it's unlikely
601         that there's a reflective XSS attack happening.  This hueristic lets us
602         avoid analyzing the vast majority of responses for XSS.  Of course, the
603         hueristic isn't perfect.  Because of this huerstic, we miss out on
604         injections into unquoted attributes.  However, it's a trade-off that's
605         worked well in the XSSAuditor.
606
607         * html/parser/XSSFilter.cpp:
608         (WebCore::HTMLNames::isRequiredForInjection):
609         (WebCore::XSSFilter::XSSFilter):
610         (WebCore::XSSFilter::init):
611         (WebCore::XSSFilter::filterToken):
612         (WebCore::XSSFilter::isContainedInRequest):
613         * html/parser/XSSFilter.h:
614
615 2011-02-03  Vangelis Kokkevis  <vangelis@chromium.org>
616
617         Reviewed by Kenneth Russell.
618
619         [chromium] Fixing a compositor crash occurring on layers
620         without an associated RenderSurface.
621         https://bugs.webkit.org/show_bug.cgi?id=53679
622         Regression was introduced by in r77425 
623
624         Test: http://webkit.org/blog/386/3d-transforms/ doesn't crash
625         anymore.
626
627         * platform/graphics/chromium/LayerRendererChromium.cpp:
628         (WebCore::LayerRendererChromium::drawLayer):
629
630 2011-02-03  Dan Bernstein  <mitz@apple.com>
631
632         Reviewed by Anders Carlsson.
633
634         <rdar://problem/8948788> Text emphasis marks have wrong orientation for vertical text
635         https://bugs.webkit.org/show_bug.cgi?id=53709
636
637         Covered by rendering of fast/text/emphasis-vertical.html
638
639         * platform/graphics/mac/SimpleFontDataMac.mm:
640         (WebCore::SimpleFontData::scaledFontData): Give the scaled font the same orientation this font
641         has.
642
643 2011-02-02  Levi Weintraub  <leviw@chromium.org>
644
645         Reviewed by Ryosuke Niwa.
646
647         Moving cursor down in table cycles at the end of a row
648         https://bugs.webkit.org/show_bug.cgi?id=50012
649
650         Avoids a caret cycling issue with certain content (e.g. tables) found at the very
651         end of a document due to a bug in nextLeafWithSameEditability.
652
653         Test: editing/selection/move-by-line-cycles-in-table.html
654
655         * editing/visible_units.cpp:
656         (WebCore::nextLeafWithSameEditability): Properly avoid descending back into the
657         original leaf node.
658
659 2011-02-03  Pavel Podivilov  <podivilov@chromium.org>
660
661         Reviewed by Pavel Feldman.
662
663         Web Inspector: remove dead code related to changes panel.
664         https://bugs.webkit.org/show_bug.cgi?id=53688
665
666         * WebCore.gypi:
667         * WebCore.vcproj/WebCore.vcproj:
668         * inspector/front-end/ChangesView.js: Removed.
669         * inspector/front-end/WebKit.qrc:
670         * inspector/front-end/inspector.css:
671         (#error-warning-count):
672         (#error-warning-count:hover):
673         (#error-count + #warning-count):
674         * inspector/front-end/inspector.html:
675         * inspector/front-end/inspector.js:
676
677 2011-02-02  Sam Weinig  <sam@webkit.org>
678
679         Reviewed by Anders Carlsson.
680
681         Add notification of the end of a rubber band.
682         <rdar://problem/8940648>
683
684         * WebCore.exp.in:
685         Add additional exprots.
686
687         * page/ChromeClient.h:
688         (WebCore::ChromeClient::didCompleteRubberBandForMainFrame):
689         * page/FrameView.cpp:
690         (WebCore::FrameView::didCompleteRubberBand):
691         * page/FrameView.h:
692         * platform/ScrollView.cpp:
693         (WebCore::ScrollView::didCompleteRubberBand):
694         * platform/ScrollView.h:
695         Add hook.
696
697         * platform/ScrollableArea.h:
698         (WebCore::ScrollableArea::inLiveResize):
699         (WebCore::ScrollableArea::maximumScrollPosition):
700         (WebCore::ScrollableArea::visibleWidth):
701         (WebCore::ScrollableArea::overhangAmount):
702         (WebCore::ScrollableArea::didCompleteRubberBand):
703         Reorganize and de-virtualize live resize notifications.
704
705         * platform/mac/ScrollAnimatorMac.mm:
706         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
707         Call the new hook when the rubberband ends.
708
709 2011-02-02  Evan Martin  <evan@chromium.org>
710
711         Reviewed by Tony Chang.
712
713         [chromium] complex joining characters positioned in wrong place
714         https://bugs.webkit.org/show_bug.cgi?id=53637
715
716         Provide the correct font metrics to Harfbuzz related to the font design space.
717         There are used in some fonts for GPOS positioning.
718
719         Test: platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html
720
721         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
722         (WebCore::ComplexTextController::setupFontForScriptRun):
723         (WebCore::ComplexTextController::allocHarfbuzzFont):
724         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
725         (WebCore::FontPlatformData::FontPlatformData):
726         (WebCore::FontPlatformData::emSizeInFontUnits):
727         (WebCore::FontPlatformData::operator=):
728         * platform/graphics/chromium/FontPlatformDataLinux.h:
729         (WebCore::FontPlatformData::FontPlatformData):
730
731 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
732
733         Reviewed by Kent Tamura.
734
735         REGRESSION(r76147): Slider thumb position is not updated when value attribute is changed.
736         https://bugs.webkit.org/show_bug.cgi?id=53634
737
738         Test: fast/dom/HTMLInputElement/input-slider-update.html
739
740         * html/HTMLInputElement.cpp:
741         (WebCore::HTMLInputElement::setValue): Added a call to InputType::valueChanged.
742         * html/InputType.cpp:
743         (WebCore::InputType::valueChanged): Added empty implementation.
744         * html/InputType.h: Added def.
745         * html/RangeInputType.cpp:
746         (WebCore::RangeInputType::valueChanged): Added implementation that dirties layout
747             bit on the thumb.
748         * html/RangeInputType.h: Added def.
749
750 2011-02-02  Pavel Podivilov  <podivilov@chromium.org>
751
752         Reviewed by Pavel Feldman.
753
754         Web Inspector: do not share source frames between resources panel and scripts panel.
755         https://bugs.webkit.org/show_bug.cgi?id=53584
756
757         Currently, we show error messages only for resources. This change will allow showing error
758         messages in source frame even when resource is not available (eval scripts, inlined scripts).
759
760         * inspector/front-end/ConsoleView.js:
761         (WebInspector.ConsoleView.prototype.addMessage):
762         (WebInspector.ConsoleView.prototype.clearMessages):
763         * inspector/front-end/ResourceView.js:
764         (WebInspector.ResourceView.recreateResourceView):
765         * inspector/front-end/ResourcesPanel.js:
766         (WebInspector.FrameResourceTreeElement.prototype._setBubbleText):
767         * inspector/front-end/ScriptsPanel.js:
768         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
769         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
770         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
771         (WebInspector.ScriptsPanel.prototype.reset):
772         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
773         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
774         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
775
776 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
777
778         Fix 32-bit builds.
779
780         * platform/graphics/ShadowBlur.cpp:
781         (WebCore::ShadowBlur::blurLayerImage):
782
783 2011-02-03  Mikhail Naganov  <mnaganov@chromium.org>
784
785         Reviewed by Pavel Feldman.
786
787         Web Inspector: Add reporting of JS heap size limit to 'console.memory'.
788         https://bugs.webkit.org/show_bug.cgi?id=53592
789
790         In JSC there is no limit, thus 'undefined' value is returned.
791         For V8, the limit reported by the VM is returned.
792
793         * Android.jscbindings.mk:
794         * CMakeLists.txt:
795         * GNUmakefile.am:
796         * WebCore.gypi:
797         * WebCore.pro:
798         * WebCore.vcproj/WebCore.vcproj:
799         * WebCore.xcodeproj/project.pbxproj:
800         * bindings/js/JSBindingsAllInOne.cpp:
801         * bindings/js/JSMemoryInfoCustom.cpp: Added.
802         * bindings/js/ScriptGCEvent.cpp:
803         (WebCore::ScriptGCEvent::getHeapSize):
804         * bindings/js/ScriptGCEvent.h:
805         * bindings/v8/ScriptGCEvent.cpp:
806         (WebCore::ScriptGCEvent::getHeapSize):
807         * bindings/v8/ScriptGCEvent.h:
808         * inspector/InspectorTimelineAgent.cpp:
809         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
810         * page/MemoryInfo.cpp:
811         (WebCore::MemoryInfo::MemoryInfo):
812         * page/MemoryInfo.h:
813         (WebCore::MemoryInfo::jsHeapSizeLimit):
814         * page/MemoryInfo.idl:
815
816 2011-01-27  Philippe Normand  <pnormand@igalia.com>
817
818         Reviewed by Martin Robinson.
819
820         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
821         https://bugs.webkit.org/show_bug.cgi?id=53125
822
823         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
824         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
825
826 2011-02-03  Simon Fraser  <simon.fraser@apple.com>
827
828         Reviewed by Sam Weinig.
829
830         ShadowBlur radius for CSS shadows is slightly too big
831         https://bugs.webkit.org/show_bug.cgi?id=53660
832         
833         If we follow SVG gaussian blur for CSS shadows, we can end up rendering
834         shadows that extend further than the CSS "blur radius", which results
835         in the shadows being truncated.
836         
837         Fix with a small fudge factor to reduce the kernel diameter slightly
838         for CSS shadows.
839         
840         Also more closely follow the algorithm described in the SVG spec
841         for computing the kernel size for different diameters, and clean up
842         some variable naming relating to the shadow bounds.
843
844         * platform/graphics/ShadowBlur.cpp:
845         (WebCore::ShadowBlur::blurLayerImage):
846         (WebCore::ShadowBlur::drawRectShadowWithTiling):
847
848 2011-02-01  Pavel Podivilov  <podivilov@chromium.org>
849
850         Reviewed by Pavel Feldman.
851
852         Web Inspector: introduce new api for managing JavaScript breakpoints.
853         https://bugs.webkit.org/show_bug.cgi?id=53235
854
855         Single protocol breakpoint (e.g. set by url) is mapped on zero or more VM breakpoints (set by sourceID).
856         removeJavaScriptBreakpoint(breakpointId) removes breakpoint and all linked VM breakpoints.
857         Since UI uses VM breakpoint location rather then protocol breakpoint location, all resolved breakpoints locations are passed to frontend.
858
859         SourceFrame is now aware of whether breakpoint is resolved or not and may display it accordingly.
860         JavaScriptBreakpointsSidebarPane filters out breakpoints set on nonexistent scripts to avoid UI cluttering.
861
862         * bindings/js/ScriptDebugServer.cpp:
863         (WebCore::ScriptDebugServer::setBreakpoint):
864         (WebCore::ScriptDebugServer::removeBreakpoint):
865         * bindings/js/ScriptDebugServer.h:
866         * bindings/v8/DebuggerScript.js:
867         ():
868         * bindings/v8/ScriptDebugServer.cpp:
869         (WebCore::ScriptDebugServer::setBreakpoint):
870         * bindings/v8/ScriptDebugServer.h:
871         * inspector/Inspector.idl:
872         * inspector/InspectorAgent.cpp: clear breakpoints from inspector state when new frontend is created
873         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
874         (WebCore::InspectorAgent::populateScriptObjects):
875         (WebCore::InspectorAgent::restoreDebugger):
876         (WebCore::InspectorAgent::showAndEnableDebugger):
877         (WebCore::InspectorAgent::enableDebugger):
878         * inspector/InspectorAgent.h:
879         * inspector/InspectorDebuggerAgent.cpp: manage relations between protocol breakpoints and VM breakpoints
880         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
881         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
882         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
883         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpointBySourceId):
884         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
885         (WebCore::InspectorDebuggerAgent::continueToLocation):
886         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
887         (WebCore::InspectorDebuggerAgent::getScriptSource):
888         (WebCore::InspectorDebuggerAgent::didParseSource):
889         (WebCore::InspectorDebuggerAgent::didPause):
890         * inspector/InspectorDebuggerAgent.h:
891         (WebCore::InspectorDebuggerAgent::Script::Script):
892         * inspector/InspectorValues.cpp:
893         (WebCore::InspectorValue::asNumber):
894         (WebCore::InspectorBasicValue::asNumber):
895         (WebCore::InspectorObject::remove):
896         * inspector/InspectorValues.h:
897         (WebCore::InspectorObject::getNumber):
898         (WebCore::InspectorObject::find):
899         * inspector/ScriptBreakpoint.h:
900         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
901         * inspector/front-end/Breakpoint.js:
902         (WebInspector.Breakpoint):
903         (WebInspector.Breakpoint.prototype.addLocation):
904         * inspector/front-end/BreakpointManager.js: remove all stuff related to JavaScript breakpoints from here
905         (WebInspector.BreakpointManager):
906         (WebInspector.BreakpointManager.prototype._projectChanged):
907         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
908         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
909         * inspector/front-end/BreakpointsSidebarPane.js:
910         (WebInspector.JavaScriptBreakpointsSidebarPane): filter breakpoints set on nonexistent scripts to avoid ui cluttering
911         * inspector/front-end/DebuggerModel.js:
912         (WebInspector.DebuggerModel): pull all JavaScript from localStorage and push them to fronted when debugger is enabled, save resolved breakpoints data
913         * inspector/front-end/Script.js:
914         (WebInspector.Script.prototype.sourceLine):
915         * inspector/front-end/ScriptsPanel.js:
916         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
917         * inspector/front-end/Settings.js:
918         (WebInspector.Settings):
919         * inspector/front-end/SourceFrame.js: handle resolved and unresolved breakpoints differently
920         * inspector/front-end/inspector.js:
921
922 2011-02-03  Nikolas Zimmermann  <nzimmermann@rim.com>
923
924         Reviewed by Dirk Schulze.
925
926         small text which is scaled to be large renders pixelated
927         https://bugs.webkit.org/show_bug.cgi?id=12448
928
929         SVG <text> with font-size smaller or equal to 1 does not paint correctly
930         https://bugs.webkit.org/show_bug.cgi?id=14242
931
932         misplaced text in SVG
933         https://bugs.webkit.org/show_bug.cgi?id=17053
934
935         Don't render very small (but zoomed) text inside SVG
936         https://bugs.webkit.org/show_bug.cgi?id=19393
937
938         Tiny fonts scaled up end up too large in Safari
939         https://bugs.webkit.org/show_bug.cgi?id=20192
940
941         Stretched SVG Text has awful glyph spacing 
942         https://bugs.webkit.org/show_bug.cgi?id=21774
943
944         REGRESSION (r72141?): svg/batik/text/smallFonts.svg failing on Leopard
945         https://bugs.webkit.org/show_bug.cgi?id=49846
946
947         [Gtk] Text height in zoomed SVG is 1px too high
948         https://bugs.webkit.org/show_bug.cgi?id=50313
949
950         SVG text smaller than 0.5px not displayed properly
951         https://bugs.webkit.org/show_bug.cgi?id=50528
952
953         When rendering text, we're selecting a font with a size, as specified in the markup.
954         This can lead to problems, if the context, where the text is rendered upon, is scaled. If a parent
955         element of the <text> defines a transform=".." or the outermost <svg> containing a viewBox the
956         problem becomes apparent.
957
958         Consider following two snippets, which should render exactly the same:
959         <svg viewBox="0 0 100 100"><text x="25" y="50" font-size="25">test</text></svg>
960         <svg viewBox="0 0 1 1"><text x="0.25" y="0.5" font-size="0.25">test</text></svg>
961
962         When selecting a font size below 0.5, FontCacheMac would request a font with size 0,
963         which AppKit turns into 12. This lead to huge text rendering, instead of small text on Mac.
964         Other platforms have different problems (Qt simply scales the font, leading to pixelation etc.)
965
966         To fix this in a cross-platform fashion, we now always compute the final font size on screen,
967         remove any scaling from the context, draw the text using the scaled font size, then reapply
968         the context scale. This makes the example snippets above render exactly the same and fixes
969         numerous of bugs, present since years. As we're now heavily using floating-point font sizes
970         internally, depending on the scale of the document, it's very important to use the new
971         floating-point text metrics information (floatAscent/floatDescent/floatHeight) everywhere in SVG.
972
973         Fixes existing tests: css3/zoom-coords.xhtml (cross-platform inconsistencies should be gone, mac now reports floatHeight values for SVG text height)
974                               svg/hixie/text/003.html (no more pixelation)
975                               svg/batik/text/smallFonts.svg (small fonts aren't rendered huge anymore on mac)
976                               svg/hixie/viewbox/preserveAspectRatio/001.xml (bug 21774, no more awful spacing)
977                               svg/zoom/page/zoom-zoom-coords.xhtml (cross-platform inconsistencies should be gone, inspired by bug 50313)
978
979         Tests: svg/text/font-size-below-point-five-2.svg (reduction from bug 50528)
980                svg/text/font-size-below-point-five.svg (reduction from bug 50528)
981                svg/text/scaled-font.svg (reduction from bug 12448)
982                svg/text/small-fonts-2.svg (reduction from bug 14242)
983                svg/text/small-fonts-3.svg (reduction from bug 17053)
984                svg/text/small-fonts-in-html5.html (reduction from bug 19393)
985                svg/text/small-fonts.svg (reduction from bug 20192))
986
987         * rendering/svg/RenderSVGInlineText.cpp: Cache 'float scalingFactor' & 'Font scaledFont', whenever the on-screen representation changes.
988         * rendering/svg/RenderSVGInlineText.h:
989         * rendering/svg/RenderSVGText.cpp: Update scalingFactor/scaledFont, if necessary.
990         * rendering/svg/SVGInlineTextBox.cpp: Switch to new font rendering strategy. Always use scaledFont, and remove any context scale before drawing.
991         * rendering/svg/SVGInlineTextBox.h:
992         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Use floating-point metrics everywhere.
993         * rendering/svg/SVGTextMetrics.cpp: Ditto.
994         * rendering/svg/SVGTextMetrics.h: Ditto.
995         * rendering/svg/SVGTextQuery.cpp: Ditto.
996         * svg/SVGFont.cpp: Adjust stroke thickness, when drawing SVGFonts into a normalized context (no more scale).
997         * svg/SVGTextContentElement.cpp: Make <text> elements always dependant on window size changes in combination with viewBox set.
998         * svg/SVGTextPositioningElement.cpp: Remove now unnecessary code to determine wheter relative lengths are used as text attributes.
999         * svg/SVGTextPositioningElement.h: 
1000
1001 2011-02-03  Pavel Feldman  <pfeldman@chromium.org>
1002
1003         Reviewed by Yury Semikhatsky.
1004
1005         Web Inspector: resources panel doesn't show frames after reload.
1006         https://bugs.webkit.org/show_bug.cgi?id=53430
1007
1008         * inspector/front-end/ResourcesPanel.js:
1009         (WebInspector.ResourcesPanel.prototype.show):
1010         (WebInspector.ResourcesPanel.prototype.loadEventFired):
1011         (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
1012         (WebInspector.ResourcesPanel.prototype.reset):
1013         (WebInspector.ResourcesPanel.prototype.clear):
1014         * inspector/front-end/inspector.js:
1015         (WebInspector.loadEventFired):
1016
1017 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
1018
1019         Reviewed by Pavel Feldman.
1020
1021         Web Inspector: Remove the *2 suffix from the CSS style-related protocol methods
1022         https://bugs.webkit.org/show_bug.cgi?id=53492
1023
1024         * inspector/Inspector.idl:
1025         * inspector/InspectorCSSAgent.cpp:
1026         (WebCore::InspectorCSSAgent::getStylesForNode):
1027         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
1028         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1029         (WebCore::InspectorCSSAgent::getAllStyles):
1030         (WebCore::InspectorCSSAgent::getStyleSheet):
1031         (WebCore::InspectorCSSAgent::getStyleSheetText):
1032         (WebCore::InspectorCSSAgent::setStyleSheetText):
1033         (WebCore::InspectorCSSAgent::setPropertyText):
1034         (WebCore::InspectorCSSAgent::toggleProperty):
1035         (WebCore::InspectorCSSAgent::setRuleSelector):
1036         (WebCore::InspectorCSSAgent::addRule):
1037         * inspector/InspectorCSSAgent.h:
1038         * inspector/front-end/AuditRules.js:
1039         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1040         * inspector/front-end/CSSStyleModel.js:
1041         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1042         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1043         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1044         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1045         (WebInspector.CSSStyleModel.prototype.addRule):
1046         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1047         (WebInspector.CSSStyleModel.prototype._onRevert):
1048         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1049         (WebInspector.CSSProperty.prototype.setText):
1050         (WebInspector.CSSProperty.prototype.setDisabled):
1051         (WebInspector.CSSStyleSheet.createForId):
1052         (WebInspector.CSSStyleSheet.prototype.setText):
1053
1054 2011-02-03  Adam Barth  <abarth@webkit.org>
1055
1056         Reviewed by Daniel Bates.
1057
1058         Teach XSSFilter about data URLs
1059         https://bugs.webkit.org/show_bug.cgi?id=53662
1060
1061         The XSS filter doesn't really make sense for data URLs because
1062         everything in a "response" from a data URL was part of the request.
1063
1064         Test: http/tests/security/xssAuditor/data-urls-work.html
1065
1066         * html/parser/XSSFilter.cpp:
1067         (WebCore::XSSFilter::init):
1068         (WebCore::XSSFilter::filterToken):
1069
1070 2011-02-02  Chris Evans  <cevans@chromium.org>
1071
1072         Reviewed by Darin Fisher.
1073
1074         window.find() can fail when switching case sensitivity
1075         https://bugs.webkit.org/show_bug.cgi?id=53654
1076
1077         Reset the pattern to a safe one when done, to avoid usearch_reset()
1078         indirectly touching the old, stale text pointer.
1079
1080         Test: fast/text/find-window.html
1081
1082         * editing/TextIterator.cpp:
1083         (WebCore::SearchBuffer::~SearchBuffer): leave a safe pattern buffer when done.
1084
1085 2011-02-02  Adam Barth  <abarth@webkit.org>
1086
1087         Reviewed by Daniel Bates.
1088
1089         Teach XSSFilter that <param> elements can contain URLs
1090         https://bugs.webkit.org/show_bug.cgi?id=53652
1091
1092         When loading plugins for the <object> tag, we're "smart" enough to
1093         reach into the <param> elements and pull out the URL in some cases.
1094         This patch teaches the XSSFilter how to block injections into those
1095         sorts of param elements.
1096
1097         Fixes:
1098             http/tests/security/xssAuditor/object-*
1099
1100         * html/HTMLParamElement.cpp:
1101         (WebCore::HTMLParamElement::isURLParameter):
1102         (WebCore::HTMLParamElement::isURLAttribute):
1103         (WebCore::HTMLParamElement::addSubresourceAttributeURLs):
1104         * html/HTMLParamElement.h:
1105             - Add a helper function so that HTMLParamElement can share the
1106               ground truth for these names with the XSSFilter.
1107         * html/parser/XSSFilter.cpp:
1108         (WebCore::XSSFilter::filterTokenInitial):
1109         (WebCore::XSSFilter::filterParamToken):
1110         * html/parser/XSSFilter.h:
1111
1112 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1113
1114         Reviewed by David Levin.
1115
1116         GCC compiler on ARM issues bogus warnings and fails to compile.
1117         https://bugs.webkit.org/show_bug.cgi?id=53620
1118
1119         Despite warnings explicitly being disallowed (-Wno-uninitialized),
1120         gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 throws up the warnings like:
1121
1122         "error: 'colorTransparent.unstatic.4909' may be used uninitialized in this function"
1123
1124         The fix is to add an extra condition, which somehow pacifies the compiler.
1125
1126         * css/CSSPrimitiveValue.cpp:
1127         (WebCore::CSSPrimitiveValue::createColor): Added workaround conditions.
1128
1129 2011-02-02  Adam Barth  <abarth@webkit.org>
1130
1131         Reviewed by Daniel Bates.
1132
1133         Teach XSSFilter about X-XSS-Protection
1134         https://bugs.webkit.org/show_bug.cgi?id=53640
1135
1136         This patch causes us to pass:
1137             http/tests/security/xssAuditor/full-block-*
1138             http/tests/security/xssAuditor/no-protection-script-tag.html
1139
1140         * html/parser/XSSFilter.cpp:
1141         (WebCore::XSSFilter::XSSFilter):
1142         (WebCore::XSSFilter::init):
1143         (WebCore::XSSFilter::filterToken):
1144         * html/parser/XSSFilter.h:
1145
1146 2011-02-02  Adam Barth  <abarth@webkit.org>
1147
1148         Reviewed by Daniel Bates.
1149
1150         When XSSFilter blocks JavaScript URLs, use a safe JavaScript URL
1151         instead of the empty string
1152         https://bugs.webkit.org/show_bug.cgi?id=53643
1153
1154         In a URL context, the empty string completes to the URL of the current
1155         page, which causes these tests to go into an infinite loop.  Instead,
1156         we should use a "safe" JavaScript URL that does nothing.
1157
1158         Fixes:
1159             http/tests/security/xssAuditor/javascript-link*
1160
1161         * html/parser/XSSFilter.cpp:
1162         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1163
1164 2011-02-02  Dan Bernstein  <mitz@apple.com>
1165
1166         Reviewed by Sam Weinig.
1167
1168         <rdar://problem/8380506> REGRESSION (r61921): RTL text in <b> tag doesn't display in WebKit under certain conditions
1169         https://bugs.webkit.org/show_bug.cgi?id=44942
1170
1171         Test: fast/text/bidi-embedding-pop-and-push-same-2.html
1172
1173         * platform/text/BidiResolver.h:
1174         (WebCore::::commitExplicitEmbedding): Changed to return a boolean indicating whether there was
1175         a change to embedding levels.
1176         (WebCore::::createBidiRunsForLine): If embedding levels did not change as a result of committing
1177         the explicit embedding sequence, then runs were not added, and we should continue normally.
1178
1179 2011-02-02  Sam Weinig  <sam@webkit.org>
1180
1181         Reviewed by Dan Bernstein.
1182
1183         Fix miscalculation of the overhang area used for painting. We were
1184         not correctly accounting for scrollbars resulting in an non-negative
1185         overhang even when we weren't over the edge.
1186
1187         * platform/ScrollView.cpp:
1188         (WebCore::ScrollView::calculateOverhangAreasForPainting):
1189
1190 2011-02-02  Jeremy Orlow  <jorlow@chromium.org>
1191
1192         Reviewed by Nate Chapin.
1193
1194         IDBTransaction and IDBRequest can be deleted while ScriptExecutionContext is iterating....which is bad
1195         https://bugs.webkit.org/show_bug.cgi?id=52722
1196
1197         The solution is to change ScriptExecutionContext's destructor to iterate over
1198         the list in a way that handles the mutations. This new method is destructive,
1199         but that's OK since the object is going away. I've also added a several asserts.
1200
1201         There should be no behavior change.
1202
1203         * dom/ScriptExecutionContext.cpp:
1204         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1205         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1206         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1207         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1208         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1209         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1210         (WebCore::ScriptExecutionContext::createdActiveDOMObject):
1211         (WebCore::ScriptExecutionContext::destroyedActiveDOMObject):
1212         * dom/ScriptExecutionContext.h:
1213         * storage/IDBTransaction.cpp:
1214         (WebCore::IDBTransaction::contextDestroyed):
1215         * storage/IDBTransaction.h:
1216
1217 2011-02-02  Mark Rowe  <mrowe@apple.com>
1218
1219         Build fix.
1220
1221         * WebCore.exp.in: Remove some bogus symbols from the .exp.in file.
1222         * platform/mac/ScrollbarThemeMac.mm:
1223         (WebCore::ScrollbarThemeMac::unregisterScrollbar): Look the object
1224         up in the HashMap rather than relying on a local variable that doesn't
1225         exist.
1226
1227 2011-02-02  Adam Barth  <abarth@webkit.org>
1228
1229         Reviewed by Daniel Bates.
1230
1231         Teach XSSFilter about JavaScript URLs
1232         https://bugs.webkit.org/show_bug.cgi?id=53635
1233
1234         This patch teaches the XSSFilter to check for JavaScript URLs in
1235         attribute values.  If this approach has too many false positives, we
1236         can restrict which attribute names we examine.
1237
1238         Fixes these tests:
1239             http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html
1240             http/tests/security/xssAuditor/dom-write-location-javascript-URL.html
1241             http/tests/security/xssAuditor/iframe-javascript-url*
1242
1243         * html/parser/XSSFilter.cpp:
1244         (WebCore::HTMLNames::containsJavaScriptURL):
1245         (WebCore::XSSFilter::filterTokenInitial):
1246         (WebCore::XSSFilter::eraseDangerousAttributesIfInjected):
1247         * html/parser/XSSFilter.h:
1248
1249 2011-02-02  Dan Bernstein  <mitz@apple.com>
1250
1251         Reviewed by Sam Weinig, even though this is just a...
1252
1253         ...build fix.
1254
1255         * platform/mac/ScrollAnimatorMac.mm:
1256         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1257
1258 2011-02-02  Mark Rowe  <mrowe@apple.com>
1259
1260         Reviewed by Beth Dakin.
1261
1262         <rdar://problem/8952012> Crash on launch inside scrollbar code.
1263
1264         We need to ensure that we remove ourselves as the delegates of objects when we're going
1265         away as failing to do this can lead to crashes if the lifetime of the other objects
1266         is longer than ours.
1267
1268         * platform/mac/ScrollAnimatorMac.mm:
1269         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1270         * platform/mac/ScrollbarThemeMac.mm:
1271         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1272
1273 2011-02-02  Beth Dakin  <bdakin@apple.com>
1274
1275         Build fix.
1276
1277         * WebCore.exp.in:
1278
1279 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
1280
1281         Unreviewed WinCE build fix for r77397.
1282
1283         * page/wince/FrameWinCE.cpp:
1284         (WebCore::computePageRectsForFrame):
1285
1286 2011-02-02  Patrick Gansterer  <paroga@webkit.org>
1287
1288         Unreviewed WinCE build fix for r77398.
1289
1290         * platform/graphics/wince/PlatformPathWinCE.cpp:
1291         (WebCore::containsPoint):
1292         (WebCore::inflateRectToContainPoint):
1293         (WebCore::PlatformPath::addRect):
1294         * platform/graphics/wince/SharedBitmap.cpp:
1295         (WebCore::SharedBitmap::drawPattern):
1296         * rendering/RenderThemeWinCE.cpp:
1297         (WebCore::RenderThemeWinCE::paintMenuListButton):
1298         (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
1299         (WebCore::RenderThemeWinCE::paintSliderTrack):
1300         (WebCore::RenderThemeWinCE::paintMediaMuteButton):
1301         (WebCore::RenderThemeWinCE::paintMediaPlayButton):
1302         (WebCore::RenderThemeWinCE::paintMediaSeekBackButton):
1303         (WebCore::RenderThemeWinCE::paintMediaSeekForwardButton):
1304
1305 2011-02-02  Jian Li  <jianli@chromium.org>
1306
1307         Reviewed by Kenneth Russell.
1308
1309         [V8] Accessing DataView with index of -1 returns 0, doesn't throw
1310         https://bugs.webkit.org/show_bug.cgi?id=53559
1311
1312         Added test cases to cover this in fast/canvas/webgl/data-view-test.html.
1313
1314         * html/canvas/DataView.h:
1315         (WebCore::DataView::beyondRange):
1316
1317 2011-02-02  Sam Weinig  <sam@webkit.org>
1318
1319         Reviewed by Beth Dakin.
1320
1321         Add ChromeClient function to paint custom overhang areas.
1322         https://bugs.webkit.org/show_bug.cgi?id=53639
1323
1324         * page/Chrome.cpp:
1325         (WebCore::ChromeClient::paintCustomOverhangArea):
1326         * page/ChromeClient.h:
1327         Add ChromeClient function.
1328
1329         * page/FrameView.cpp:
1330         (WebCore::FrameView::paintOverhangAreas):
1331         * page/FrameView.h:
1332         Call out the the ChromeClient, call ScrollView base implementation
1333         if the ChromeClient returns false.
1334
1335         * platform/ScrollView.cpp:
1336         (WebCore::ScrollView::paintOverhangAreas):
1337         * platform/ScrollView.h:
1338         Add dirty rect for use when painting overhang areas.
1339
1340 2011-02-02  Peter Kasting  <pkasting@google.com>
1341
1342         Not reviewed, build fix.
1343
1344         Fix compile after r77427.
1345         https://bugs.webkit.org/show_bug.cgi?id=53455
1346
1347         * platform/graphics/qt/ImageDecoderQt.cpp:
1348         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1349         * platform/image-decoders/ImageDecoder.cpp:
1350         (WebCore::ImageFrame::operator=):
1351         * platform/image-decoders/bmp/BMPImageReader.cpp:
1352         (WebCore::BMPImageReader::decodeBMP):
1353         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1354         (WebCore::JPEGImageDecoder::outputScanlines):
1355         * platform/image-decoders/png/PNGImageDecoder.cpp:
1356         (WebCore::PNGImageDecoder::rowAvailable):
1357         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1358         (WebCore::WEBPImageDecoder::decode):
1359
1360 2011-02-02  Peter Kasting  <pkasting@google.com>
1361
1362         Reviewed by David Levin.
1363
1364         Clean up ImageDecoder's comments (remove/trim/clarify).
1365         https://bugs.webkit.org/show_bug.cgi?id=53455
1366
1367         This also renames or eliminates a couple of functions for clarity, and
1368         switches a couple erroneous strncmp() calls to memcmp().
1369
1370         * platform/image-decoders/ImageDecoder.cpp:
1371         (WebCore::ImageDecoder::create):
1372         (WebCore::ImageFrame::clearPixelData):
1373         (WebCore::ImageFrame::zeroFillPixelData):
1374         (WebCore::ImageFrame::setSize):
1375         * platform/image-decoders/ImageDecoder.h:
1376         (WebCore::ImageFrame::originalFrameRect):
1377         (WebCore::ImageFrame::setOriginalFrameRect):
1378         (WebCore::ImageDecoder::ImageDecoder):
1379         (WebCore::ImageDecoder::~ImageDecoder):
1380         (WebCore::ImageDecoder::isSizeAvailable):
1381         (WebCore::ImageDecoder::size):
1382         (WebCore::ImageDecoder::setIgnoreGammaAndColorProfile):
1383         (WebCore::ImageDecoder::clearFrameBufferCache):
1384         (WebCore::ImageDecoder::isOverSize):
1385         * platform/image-decoders/bmp/BMPImageReader.cpp:
1386         (WebCore::BMPImageReader::processNonRLEData):
1387         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1388         (WebCore::ImageFrame::setSize):
1389         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1390         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1391         (WebCore::GIFImageDecoder::frameComplete):
1392         (WebCore::GIFImageDecoder::initFrameBuffer):
1393         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1394         * platform/image-decoders/qt/ImageFrameQt.cpp:
1395         (WebCore::ImageFrame::operator=):
1396         (WebCore::ImageFrame::clearPixelData):
1397         (WebCore::ImageFrame::zeroFillPixelData):
1398         (WebCore::ImageFrame::setSize):
1399         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1400         (WebCore::ImageFrame::operator=):
1401         (WebCore::ImageFrame::clearPixelData):
1402         (WebCore::ImageFrame::zeroFillPixelData):
1403         (WebCore::ImageFrame::setSize):
1404         * platform/image-decoders/webp/WEBPImageDecoder.h:
1405
1406 2011-02-02  Vangelis Kokkevis  <vangelis@chromium.org>
1407
1408         [chromium] Adding support for reflections to the accelerated
1409         compositing path.
1410         https://bugs.webkit.org/show_bug.cgi?id=53179
1411
1412         All layout tests in compositing/reflections generate correct
1413         results with the exception of:
1414         1. nested-reflection-anchor-point.html : There appears to be
1415            some issue with the layer transform math that I haven't been
1416            able to track down yet.
1417         2. reflection-opacity.html : The current implementation applies
1418            opacity before doing the reflection which makes this test
1419            produce incorrect results.  This will affect reflected layers
1420            with opacity that overlap their original layer.  FIXME comment
1421            added in the code.
1422
1423         Tests: Covered by existing layout tests in compositing/reflections.
1424                Please see above for exceptions.
1425
1426         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1427         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1428         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1429         * platform/graphics/chromium/GraphicsLayerChromium.h:
1430         * platform/graphics/chromium/LayerChromium.cpp:
1431         (WebCore::LayerChromium::LayerChromium):
1432         * platform/graphics/chromium/LayerChromium.h:
1433         (WebCore::LayerChromium::setReplicaLayer):
1434         (WebCore::LayerChromium::replicaLayer):
1435         * platform/graphics/chromium/LayerRendererChromium.cpp:
1436         (WebCore::LayerRendererChromium::updateLayersRecursive):
1437         (WebCore::LayerRendererChromium::drawLayer):
1438         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1439         (WebCore::RenderSurfaceChromium::drawableContentRect):
1440         (WebCore::RenderSurfaceChromium::drawSurface):
1441         (WebCore::RenderSurfaceChromium::draw):
1442         * platform/graphics/chromium/RenderSurfaceChromium.h:
1443         (WebCore::RenderSurfaceChromium::drawTransform):
1444
1445 2011-02-02  Xiyuan Xia  <xiyuan@chromium.org>
1446
1447         Reviewed by Tony Chang.
1448
1449         [Chromium] Select popup with padding has white strip on right
1450         https://bugs.webkit.org/show_bug.cgi?id=53602
1451
1452         No new tests as this change restores old behavior.
1453
1454         * platform/chromium/PopupMenuChromium.cpp:
1455         (WebCore::PopupListBox::layout):
1456
1457 2011-02-02  Beth Dakin  <bdakin@apple.com>
1458
1459         Reviewed by Mark Rowe.
1460
1461         Fix for <rdar://problem/8950343> CrashTracer: [USER]
1462         1 crash in WebProcess at com.apple.WebCore: 
1463         WebCore::ScrollbarThemeMac::unregisterScrollbar + 22
1464
1465         It is possible for a Scrollbar's ScrollableArea to be null,
1466         so we must null check.
1467         * platform/mac/ScrollbarThemeMac.mm:
1468         (WebCore::ScrollbarThemeMac::registerScrollbar):
1469         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1470
1471 2011-02-02  Zhenyao Mo  <zmo@google.com>
1472
1473         Reviewed by Kenneth Russell.
1474
1475         bufferData and bufferSubData should generate INVALID_VALUE with negative input
1476         https://bugs.webkit.org/show_bug.cgi?id=53626
1477
1478         * html/canvas/WebGLRenderingContext.cpp:
1479         (WebCore::WebGLRenderingContext::bufferData):
1480         (WebCore::WebGLRenderingContext::bufferSubData):
1481
1482 2011-02-02  Jeff Miller  <jeffm@apple.com>
1483
1484         Reviewed by Darin Adler and Steve Falkenburg.
1485
1486         Add DerivedSources.make to some Visual Studio projects
1487         https://bugs.webkit.org/show_bug.cgi?id=53607
1488
1489         * WebCore.vcproj/WebCoreGenerated.vcproj: Add DerivedSources.make.
1490
1491 2011-02-02  Cris Neckar  <cdn@chromium.org>
1492
1493         Reviewed by James Robinson.
1494
1495         Refcount domwindows when dispatching device orientation events.
1496         https://bugs.webkit.org/show_bug.cgi?id=53623
1497
1498         Test: fast/events/device-orientation-crash.html
1499
1500         * dom/DeviceMotionController.cpp:
1501         (WebCore::DeviceMotionController::timerFired):
1502         (WebCore::DeviceMotionController::didChangeDeviceMotion):
1503         * dom/DeviceMotionController.h:
1504         * dom/DeviceOrientationController.cpp:
1505         (WebCore::DeviceOrientationController::timerFired):
1506         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1507         * dom/DeviceOrientationController.h:
1508
1509 2011-02-02  Zhenyao Mo  <zmo@google.com>
1510
1511         Reviewed by Kenneth Russell.
1512
1513         A deleted object should never been bound again
1514         https://bugs.webkit.org/show_bug.cgi?id=53604
1515
1516         * html/canvas/WebGLRenderingContext.cpp:
1517         (WebCore::WebGLRenderingContext::checkObjectToBeBound): Helper function to bind* and useProgram.
1518         (WebCore::WebGLRenderingContext::bindBuffer): Use checkObjectToBeBound.
1519         (WebCore::WebGLRenderingContext::bindFramebuffer): Ditto.
1520         (WebCore::WebGLRenderingContext::bindRenderbuffer): Ditto.
1521         (WebCore::WebGLRenderingContext::bindTexture): Ditto, also check the target matching.
1522         (WebCore::WebGLRenderingContext::deleteObject): Helper funtion to delete*.
1523         (WebCore::WebGLRenderingContext::deleteBuffer): Use deleteObject.
1524         (WebCore::WebGLRenderingContext::deleteFramebuffer): Ditto.
1525         (WebCore::WebGLRenderingContext::deleteProgram): Ditto.
1526         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
1527         (WebCore::WebGLRenderingContext::deleteShader): Ditto.
1528         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
1529         (WebCore::WebGLRenderingContext::useProgram): Use checkObjectToBeBound.
1530         * html/canvas/WebGLRenderingContext.h:
1531         * html/canvas/WebGLTexture.h:
1532         (WebCore::WebGLTexture::getTarget): Accessor to cached target.
1533
1534 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1535
1536         Unreviewed Efl buildfix after r77399.
1537
1538         * CMakeListsEfl.txt:
1539
1540 2011-02-02  Kenneth Russell  <kbr@google.com>
1541
1542         Reviewed by James Robinson.
1543
1544         Rename Typed Array subset to subarray
1545         https://bugs.webkit.org/show_bug.cgi?id=53618
1546
1547         * html/canvas/Float32Array.cpp:
1548         (WebCore::Float32Array::subarray):
1549         * html/canvas/Float32Array.h:
1550         * html/canvas/Float32Array.idl:
1551         * html/canvas/Int16Array.cpp:
1552         (WebCore::Int16Array::subarray):
1553         * html/canvas/Int16Array.h:
1554         * html/canvas/Int16Array.idl:
1555         * html/canvas/Int32Array.cpp:
1556         (WebCore::Int32Array::subarray):
1557         * html/canvas/Int32Array.h:
1558         * html/canvas/Int32Array.idl:
1559         * html/canvas/Int8Array.cpp:
1560         (WebCore::Int8Array::subarray):
1561         * html/canvas/Int8Array.h:
1562         * html/canvas/Int8Array.idl:
1563         * html/canvas/TypedArrayBase.h:
1564         (WebCore::TypedArrayBase::subarrayImpl):
1565         * html/canvas/Uint16Array.cpp:
1566         (WebCore::Uint16Array::subarray):
1567         * html/canvas/Uint16Array.h:
1568         * html/canvas/Uint16Array.idl:
1569         * html/canvas/Uint32Array.cpp:
1570         (WebCore::Uint32Array::subarray):
1571         * html/canvas/Uint32Array.h:
1572         * html/canvas/Uint32Array.idl:
1573         * html/canvas/Uint8Array.cpp:
1574         (WebCore::Uint8Array::subarray):
1575         * html/canvas/Uint8Array.h:
1576         * html/canvas/Uint8Array.idl:
1577
1578 2011-02-02  Adam Barth  <abarth@webkit.org>
1579
1580         Reviewed by Eric Seidel.
1581
1582         Add an empty file for Content Security Policy
1583         https://bugs.webkit.org/show_bug.cgi?id=53573
1584
1585         Posting this as a separate patch because editing the build files is so
1586         painful.
1587
1588         * Android.mk:
1589         * CMakeLists.txt:
1590         * GNUmakefile.am:
1591         * WebCore.gypi:
1592         * WebCore.pro:
1593         * WebCore.vcproj/WebCore.vcproj:
1594         * WebCore.xcodeproj/project.pbxproj:
1595
1596 2011-02-02  Dan Winship  <danw@gnome.org>
1597
1598         Reviewed by Martin Robinson.
1599
1600         [GTK] remove old data: URI handler, fix the SoupRequest-based one
1601         to pass tests
1602         https://bugs.webkit.org/show_bug.cgi?id=50885
1603
1604         * platform/network/soup/ResourceHandleSoup.cpp:
1605         (WebCore::sendRequestCallback): Do content-type sniffing here for
1606         non-HTTP requests.
1607         (WebCore::startHTTPRequest): Rename to match WebKit style.
1608         (WebCore::ResourceHandle::start): Pass everything except HTTP to
1609         startNonHTTPRequest, letting the SoupRequester decide whether it's
1610         supported or not.
1611         (WebCore::startNonHTTPRequest): Remove some old pre-SoupRequester
1612         code that was a no-op for file: URIs, but would break some data:
1613         URIs.
1614
1615 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1616
1617         Update even more references to right() and bottom() in Chromium. Sheesh.
1618
1619         * platform/graphics/chromium/LayerRendererChromium.cpp:
1620         (WebCore::LayerRendererChromium::getFramebufferPixels): Replaced bottom/right with maxY/maxX.
1621
1622 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
1623
1624         Unreviewed Gtk3 buildfix after r77286.
1625
1626         https://bugs.webkit.org/show_bug.cgi?id=53520
1627         Remove the physical terminology from IntRect and FloatRect.
1628
1629         * platform/gtk/RenderThemeGtk3.cpp:
1630         (WebCore::RenderThemeGtk::paintMenuList):
1631
1632 2011-02-02  Anders Carlsson  <andersca@apple.com>
1633
1634         Fix build.
1635
1636         * platform/mac/ScrollAnimatorMac.mm:
1637         (WebCore::ScrollAnimatorMac::pinnedInDirection):
1638
1639 2011-02-02  David Hyatt  <hyatt@apple.com>
1640
1641         Reviewed by Dan Bernstein.
1642
1643         https://bugs.webkit.org/show_bug.cgi?id=53619
1644
1645         Floats should not use physical terminology for their rects. Replace left/top with x/y and right/bottom
1646         with maxX/maxY.  This matches IntRect.
1647
1648         * rendering/RenderBlock.cpp:
1649         (WebCore::RenderBlock::addOverflowFromFloats):
1650         (WebCore::RenderBlock::flipFloatForWritingMode):
1651         (WebCore::RenderBlock::paintFloats):
1652         (WebCore::RenderBlock::selectionGaps):
1653         (WebCore::RenderBlock::addOverhangingFloats):
1654         (WebCore::RenderBlock::addIntrudingFloats):
1655         (WebCore::RenderBlock::hitTestFloats):
1656         (WebCore::RenderBlock::adjustForBorderFit):
1657         * rendering/RenderBlock.h:
1658         (WebCore::RenderBlock::FloatingObject::x):
1659         (WebCore::RenderBlock::FloatingObject::maxX):
1660         (WebCore::RenderBlock::FloatingObject::y):
1661         (WebCore::RenderBlock::FloatingObject::maxY):
1662         (WebCore::RenderBlock::FloatingObject::setX):
1663         (WebCore::RenderBlock::FloatingObject::setY):
1664         (WebCore::RenderBlock::logicalTopForFloat):
1665         (WebCore::RenderBlock::logicalBottomForFloat):
1666         (WebCore::RenderBlock::logicalLeftForFloat):
1667         (WebCore::RenderBlock::logicalRightForFloat):
1668         (WebCore::RenderBlock::setLogicalTopForFloat):
1669         (WebCore::RenderBlock::setLogicalLeftForFloat):
1670         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1671         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1672
1673 2011-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
1674
1675         Update more references to right() and bottom() in Chromium Win.
1676
1677         * platform/graphics/chromium/TransparencyWin.cpp:
1678         (WebCore::TransparencyWin::compositeOpaqueComposite): Replaced bottom/right with maxY/maxX.
1679         (WebCore::TransparencyWin::compositeTextComposite): Ditto.
1680         * rendering/RenderThemeChromiumWin.cpp:
1681         (WebCore::RenderThemeChromiumWin::paintMenuList): Ditto.
1682
1683 2011-02-02  Adam Roben  <aroben@apple.com>
1684
1685         Encode/decode FormData and FormDataElement objects consistently
1686
1687         Fixes <http://webkit.org/b/53615> <rdar://problem/8943346> WebKit2: Restoring session state
1688         that contains form data fails (asserts in Debug build)
1689
1690         To prevent this from interfering with WebKit2 testing, it's useful to get this into a build
1691         now, even though we don't have an automated test for it yet. Writing a test is covered by
1692         <http://webkit.org/b/53616>.
1693
1694         Reviewed by Darin Adler.
1695
1696         * history/HistoryItem.cpp: Bump the encoding version, since this patch changes how we encode
1697         FormData objects.
1698
1699         * platform/network/FormData.cpp:
1700         (WebCore::decode): Decode the type from the Decoder, rather than getting it from the
1701         default-constructed FormDataElement. Failing to do this meant that all future uses of the
1702         Decoder would be reading from an unexpected part of the buffer (i.e., the next decode would
1703         start by reading the uint32_t that we forgot to decode here, and so on). We already had code
1704         to correctly set the FormDataElement's type based on this decoded type later in the
1705         function.
1706         (WebCore::FormData::encodeForBackForward): Encode m_identifier as an int64_t, since that
1707         matches its type and how we decode it.
1708
1709 2011-02-02  Dan Winship  <danw@gnome.org>
1710
1711         Reviewed by Martin Robinson.
1712
1713         [GTK] drop soup cache stuff, which has been moved to libsoup
1714         https://bugs.webkit.org/show_bug.cgi?id=50747
1715
1716         Use libsoup-based cache/requester API and remove the WebCore version
1717         of this functionality. This has been pushed upstream fully.
1718
1719         No new tests because this should not change functionality.
1720
1721         * GNUmakefile.am: Update for removed files.
1722         * platform/network/ResourceHandleInternal.h:
1723         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Update
1724         type names, drop m_requester.
1725         * platform/network/soup/ResourceHandleSoup.cpp:
1726         (WebCore::ensureSessionIsInitialized): Add a SoupRequester to the
1727         session.
1728         (WebCore::parseDataUrl):
1729         (WebCore::startHttp): Get the requester from the session rather
1730         than using m_requester.
1731         (WebCore::sendRequestCallback):
1732         (WebCore::ResourceHandle::platformSetDefersLoading):
1733         (WebCore::readCallback):
1734         (WebCore::startGio): Update type names.
1735         * platform/network/soup/cache/soup-directory-input-stream.c: Removed.
1736         * platform/network/soup/cache/soup-directory-input-stream.h: Removed.
1737         * platform/network/soup/cache/soup-http-input-stream.c: Removed.
1738         * platform/network/soup/cache/soup-http-input-stream.h: Removed.
1739         * platform/network/soup/cache/soup-request-data.c: Removed.
1740         * platform/network/soup/cache/soup-request-data.h: Removed.
1741         * platform/network/soup/cache/soup-request-file.c: Removed.
1742         * platform/network/soup/cache/soup-request-file.h: Removed.
1743         * platform/network/soup/cache/soup-request-http.c: Removed.
1744         * platform/network/soup/cache/soup-request-http.h: Removed.
1745         * platform/network/soup/cache/soup-request.c: Removed.
1746         * platform/network/soup/cache/soup-request.h: Removed.
1747         * platform/network/soup/cache/soup-requester.c: Removed.
1748         * platform/network/soup/cache/soup-requester.h: Removed.
1749         * platform/network/soup/cache/webkit/soup-cache-private.h: Removed.
1750         * platform/network/soup/cache/webkit/soup-cache.c: Removed.
1751         * platform/network/soup/cache/webkit/soup-cache.h: Removed.
1752
1753 2011-02-02  David Hyatt  <hyatt@apple.com>
1754
1755         Reviewed by Darin Adler.
1756
1757         https://bugs.webkit.org/show_bug.cgi?id=53520
1758
1759         Remove physical accessors from IntRect and FloatRect.
1760
1761         * page/FrameView.cpp:
1762         (WebCore::FrameView::adjustPageHeightDeprecated):
1763         * platform/graphics/FloatRect.h:
1764         * platform/graphics/IntRect.h:
1765
1766 2011-02-02  David Hyatt  <hyatt@apple.com>
1767
1768         Reviewed by Dan Bernstein.
1769
1770         https://bugs.webkit.org/show_bug.cgi?id=53614
1771
1772         Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
1773
1774         * rendering/InlineFlowBox.cpp:
1775         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1776         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1777         * rendering/InlineFlowBox.h:
1778         (WebCore::InlineFlowBox::minYLayoutOverflow):
1779         (WebCore::InlineFlowBox::maxYLayoutOverflow):
1780         (WebCore::InlineFlowBox::minXLayoutOverflow):
1781         (WebCore::InlineFlowBox::maxXLayoutOverflow):
1782         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
1783         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
1784         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
1785         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
1786         (WebCore::InlineFlowBox::minYVisualOverflow):
1787         (WebCore::InlineFlowBox::maxYVisualOverflow):
1788         (WebCore::InlineFlowBox::minXVisualOverflow):
1789         (WebCore::InlineFlowBox::maxXVisualOverflow):
1790         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1791         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1792         (WebCore::InlineFlowBox::logicalminYVisualOverflow):
1793         (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
1794         * rendering/RenderBlock.cpp:
1795         (WebCore::RenderBlock::adjustLinePositionForPagination):
1796         * rendering/RenderBlockLineLayout.cpp:
1797         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
1798         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
1799         (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
1800         (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
1801         * rendering/RenderBox.cpp:
1802         (WebCore::RenderBox::scrollWidth):
1803         (WebCore::RenderBox::scrollHeight):
1804         * rendering/RenderBox.h:
1805         (WebCore::RenderBox::minYLayoutOverflow):
1806         (WebCore::RenderBox::maxYLayoutOverflow):
1807         (WebCore::RenderBox::minXLayoutOverflow):
1808         (WebCore::RenderBox::maxXLayoutOverflow):
1809         (WebCore::RenderBox::logicalLeftLayoutOverflow):
1810         (WebCore::RenderBox::logicalRightLayoutOverflow):
1811         (WebCore::RenderBox::minYVisualOverflow):
1812         (WebCore::RenderBox::maxYVisualOverflow):
1813         (WebCore::RenderBox::minXVisualOverflow):
1814         (WebCore::RenderBox::maxXVisualOverflow):
1815         (WebCore::RenderBox::logicalLeftVisualOverflow):
1816         (WebCore::RenderBox::logicalRightVisualOverflow):
1817         * rendering/RenderInline.cpp:
1818         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1819         * rendering/RenderLayerCompositor.cpp:
1820         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1821         * rendering/RenderLineBoxList.cpp:
1822         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
1823         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
1824         (WebCore::RenderLineBoxList::paint):
1825         (WebCore::RenderLineBoxList::hitTest):
1826         * rendering/RenderMarquee.cpp:
1827         (WebCore::RenderMarquee::computePosition):
1828         * rendering/RenderOverflow.h:
1829         (WebCore::RenderOverflow::RenderOverflow):
1830         (WebCore::RenderOverflow::minYLayoutOverflow):
1831         (WebCore::RenderOverflow::maxYLayoutOverflow):
1832         (WebCore::RenderOverflow::minXLayoutOverflow):
1833         (WebCore::RenderOverflow::maxXLayoutOverflow):
1834         (WebCore::RenderOverflow::minYVisualOverflow):
1835         (WebCore::RenderOverflow::maxYVisualOverflow):
1836         (WebCore::RenderOverflow::minXVisualOverflow):
1837         (WebCore::RenderOverflow::maxXVisualOverflow):
1838         (WebCore::RenderOverflow::setminYVisualOverflow):
1839         (WebCore::RenderOverflow::visualOverflowRect):
1840         (WebCore::RenderOverflow::move):
1841         (WebCore::RenderOverflow::addVisualOverflow):
1842         (WebCore::RenderOverflow::setVisualOverflow):
1843         * rendering/RenderReplaced.cpp:
1844         (WebCore::RenderReplaced::shouldPaint):
1845         * rendering/RenderTable.cpp:
1846         (WebCore::RenderTable::layout):
1847         (WebCore::RenderTable::paint):
1848         * rendering/RenderTableCell.cpp:
1849         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
1850         * rendering/RenderTreeAsText.cpp:
1851         (WebCore::writeLayers):
1852         * rendering/RenderView.cpp:
1853         (WebCore::RenderView::docTop):
1854
1855 2011-02-02  Steve Lacey  <sjl@chromium.org>
1856
1857         Reviewed by Eric Carlson.
1858
1859         Implement basic media statistics on media elements.
1860         https://bugs.webkit.org/show_bug.cgi?id=53322
1861
1862         * Configurations/FeatureDefines.xcconfig:
1863         * GNUmakefile.am:
1864         * features.pri:
1865         * html/HTMLMediaElement.cpp:
1866         (WebCore::HTMLMediaElement::webkitAudioBytesDecoded):
1867         (WebCore::HTMLMediaElement::webkitVideoBytesDecoded):
1868         * html/HTMLMediaElement.h:
1869         * html/HTMLMediaElement.idl:
1870         * html/HTMLVideoElement.cpp:
1871         (WebCore::HTMLVideoElement::webkitDecodedFrames):
1872         (WebCore::HTMLVideoElement::webkitDroppedFrames):
1873         * html/HTMLVideoElement.h:
1874         * html/HTMLVideoElement.idl:
1875         * platform/graphics/MediaPlayer.cpp:
1876         (WebCore::MediaPlayer::decodedFrames):
1877         (WebCore::MediaPlayer::droppedFrames):
1878         (WebCore::MediaPlayer::audioBytesDecoded):
1879         (WebCore::MediaPlayer::videoBytesDecoded):
1880         * platform/graphics/MediaPlayer.h:
1881         * platform/graphics/MediaPlayerPrivate.h:
1882         (WebCore::MediaPlayerPrivateInterface::decodedFrames):
1883         (WebCore::MediaPlayerPrivateInterface::droppedFrames):
1884         (WebCore::MediaPlayerPrivateInterface::audioBytesDecoded):
1885         (WebCore::MediaPlayerPrivateInterface::videoBytesDecoded):
1886
1887 2011-02-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1888
1889         Reviewed by David Hyatt.
1890
1891         More conversion from right()/bottom() to maxX()/maxY().
1892
1893         * page/qt/FrameQt.cpp:
1894         (WebCore::Frame::dragImageForSelection):
1895         * platform/graphics/qt/GraphicsContextQt.cpp:
1896         (WebCore::GraphicsContext::roundToDevicePixels):
1897
1898 2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
1899
1900         [wx] Build fixes for wxWebKit.
1901
1902         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp:
1903         (documentWrite):
1904         * bindings/scripts/CodeGeneratorCPP.pm:
1905         * page/wx/DragControllerWx.cpp:
1906         (WebCore::DragController::dragOperation):
1907         * platform/graphics/wx/FontCustomPlatformData.h:
1908         * platform/graphics/wx/FontPlatformData.h:
1909         (WebCore::FontPlatformData::widthVariant):
1910         * platform/graphics/wx/FontPlatformDataWx.cpp:
1911         (WebCore::FontPlatformData::computeHash):
1912         * platform/graphics/wx/FontWx.cpp:
1913         * platform/graphics/wx/GraphicsContextWx.cpp:
1914         (WebCore::GraphicsContext::fillPath):
1915         (WebCore::GraphicsContext::strokePath):
1916         * platform/wx/RenderThemeWx.cpp:
1917
1918 2011-02-02  David Hyatt  <hyatt@apple.com>
1919
1920         Reviewed by Darin Adler.
1921
1922         More right()/bottom() to maxX()/maxY() conversion.
1923
1924         * page/chromium/FrameChromium.cpp:
1925         (WebCore::Frame::nodeImage):
1926         (WebCore::Frame::dragImageForSelection):
1927
1928 2011-02-02  Sam Weinig  <sam@webkit.org>
1929
1930         Fix windows clean build.
1931
1932         * DerivedSources.make:
1933
1934 2011-02-02  Mikhail Naganov  <mnaganov@chromium.org>
1935
1936         Reviewed by Pavel Feldman.
1937
1938         Web Inspector: [Chromium] Landing detailed heap snapshots, part 2.
1939
1940         https://bugs.webkit.org/show_bug.cgi?id=53606
1941
1942         Display progress while taking a snapshot, and hints while loading
1943         and parsing. This is needed because taking detailed heap snapshots
1944         takes time.
1945
1946         * English.lproj/localizedStrings.js:
1947         * inspector/front-end/DetailedHeapshotView.js:
1948         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
1949         * inspector/front-end/ProfilesPanel.js:
1950         (WebInspector.ProfilesPanel.prototype._reset):
1951         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
1952         (WebInspector.ProfilesPanel.prototype.getProfiles):
1953         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1954         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
1955         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1956         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
1957         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
1958         * inspector/front-end/SidebarTreeElement.js:
1959         (WebInspector.SidebarTreeElement.prototype.refreshTitles):
1960
1961 2011-02-02  David Hyatt  <hyatt@apple.com>
1962
1963         Reviewed by Darin Adler.
1964
1965         More conversion from right()/bottom() to maxX()/maxY().
1966
1967         * platform/win/PopupMenuWin.cpp:
1968         (WebCore::PopupMenuWin::calculatePositionAndSize):
1969         (WebCore::PopupMenuWin::paint):
1970
1971 2011-02-02  David Hyatt  <hyatt@apple.com>
1972
1973         Reviewed by Darin Adler.
1974
1975         Removal of right()/bottom().  Replace with maxX() and maxY().  Still converting.  Haven't removed yet.
1976
1977         * platform/chromium/PopupMenuChromium.cpp:
1978         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
1979         (WebCore::PopupListBox::scrollToRevealRow):
1980         (WebCore::PopupListBox::layout):
1981         * platform/graphics/FloatRect.h:
1982         * platform/graphics/IntRect.h:
1983         * platform/graphics/cairo/ImageBufferCairo.cpp:
1984         (WebCore::getImageData):
1985         (WebCore::putImageData):
1986         * platform/graphics/chromium/GLES2Canvas.cpp:
1987         (WebCore::GLES2Canvas::drawTexturedRect):
1988         * platform/graphics/chromium/LayerRendererChromium.cpp:
1989         (WebCore::LayerRendererChromium::verticalScrollbarRect):
1990         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
1991         (WebCore::LayerRendererChromium::setScissorToRect):
1992         (WebCore::LayerRendererChromium::setDrawViewportRect):
1993         * platform/graphics/chromium/LayerTilerChromium.cpp:
1994         (WebCore::LayerTilerChromium::contentRectToTileIndices):
1995         (WebCore::LayerTilerChromium::growLayerToContain):
1996         * platform/graphics/gpu/TilingData.cpp:
1997         (WebCore::TilingData::tileBoundsWithBorder):
1998         (WebCore::TilingData::overlappedTileIndices):
1999         * platform/graphics/qt/ImageBufferQt.cpp:
2000         (WebCore::getImageData):
2001         (WebCore::putImageData):
2002         * platform/graphics/skia/FloatRectSkia.cpp:
2003         (WebCore::FloatRect::operator SkRect):
2004         * platform/graphics/skia/ImageBufferSkia.cpp:
2005         (WebCore::getImageData):
2006         (WebCore::putImageData):
2007         * platform/graphics/skia/IntRectSkia.cpp:
2008         (WebCore::IntRect::operator SkIRect):
2009         (WebCore::IntRect::operator SkRect):
2010         * platform/graphics/skia/PlatformContextSkia.cpp:
2011         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2012         * platform/graphics/win/GraphicsContextWin.cpp:
2013         (WebCore::GraphicsContextPlatformPrivate::clip):
2014         * platform/graphics/win/IntRectWin.cpp:
2015         (WebCore::IntRect::operator RECT):
2016         * platform/graphics/win/UniscribeController.cpp:
2017         (WebCore::UniscribeController::shapeAndPlaceItem):
2018         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2019         (WebCore::roundRect):
2020         (WebCore::mapRect):
2021         (WebCore::TransparentLayerDC::TransparentLayerDC):
2022         (WebCore::GraphicsContext::drawRect):
2023         (WebCore::GraphicsContext::drawEllipse):
2024         (WebCore::GraphicsContext::strokeArc):
2025         (WebCore::GraphicsContext::clip):
2026         (WebCore::GraphicsContext::clipOut):
2027         (WebCore::GraphicsContext::strokeRect):
2028         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2029         (WebCore::GIFImageDecoder::initFrameBuffer):
2030         * platform/win/PopupMenuWin.cpp:
2031         (WebCore::PopupMenuWin::calculatePositionAndSize):
2032         (WebCore::PopupMenuWin::paint):
2033         * plugins/win/PluginViewWin.cpp:
2034         (WebCore::PluginView::updatePluginWidget):
2035         (WebCore::PluginView::invalidateRect):
2036         * rendering/RenderThemeSafari.cpp:
2037         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2038         (WebCore::RenderThemeSafari::paintMenuListButton):
2039         (WebCore::RenderThemeSafari::paintSliderTrack):
2040         * rendering/RenderThemeWin.cpp:
2041         (WebCore::RenderThemeWin::paintInnerSpinButton):
2042         (WebCore::RenderThemeWin::paintMenuListButton):
2043
2044 2011-02-02  Antti Koivisto  <antti@apple.com>
2045
2046         Reviewed by Maciej Stachowiak.
2047
2048         Use Vector instead of a linked list for rules in CSSStyleSelector
2049         https://bugs.webkit.org/show_bug.cgi?id=53581
2050         
2051         - eliminate CSSRuleDataList, replace with Vector<RuleData>
2052         - rename CSSRuleData -> RuleData and CSSRuleSet -> RuleSet 
2053           (these are selector internal classes, CSS prefix is better reserved for public ones).
2054         - constify a bit
2055         - shrink the vectors to fit after collecting the rules
2056
2057         * css/CSSStyleSelector.cpp:
2058         (WebCore::RuleData::RuleData):
2059         (WebCore::RuleData::position):
2060         (WebCore::RuleData::rule):
2061         (WebCore::RuleData::selector):
2062         (WebCore::RuleSet::disableAutoShrinkToFit):
2063         (WebCore::RuleSet::getIDRules):
2064         (WebCore::RuleSet::getClassRules):
2065         (WebCore::RuleSet::getTagRules):
2066         (WebCore::RuleSet::getPseudoRules):
2067         (WebCore::RuleSet::getUniversalRules):
2068         (WebCore::RuleSet::getPageRules):
2069         (WebCore::collectSiblingRulesInDefaultStyle):
2070         (WebCore::CSSStyleSelector::CSSStyleSelector):
2071         (WebCore::loadFullDefaultStyle):
2072         (WebCore::loadSimpleDefaultStyle):
2073         (WebCore::loadViewSourceStyle):
2074         (WebCore::CSSStyleSelector::matchRules):
2075         (WebCore::CSSStyleSelector::matchRulesForList):
2076         (WebCore::operator >):
2077         (WebCore::operator <=):
2078         (WebCore::CSSStyleSelector::sortMatchedRules):
2079         (WebCore::CSSStyleSelector::matchUARules):
2080         (WebCore::RuleSet::RuleSet):
2081         (WebCore::RuleSet::~RuleSet):
2082         (WebCore::RuleSet::addToRuleSet):
2083         (WebCore::RuleSet::addRule):
2084         (WebCore::RuleSet::addPageRule):
2085         (WebCore::RuleSet::addRulesFromSheet):
2086         (WebCore::RuleSet::addStyleRule):
2087         (WebCore::collectIdsAndSiblingRulesFromList):
2088         (WebCore::RuleSet::collectIdsAndSiblingRules):
2089         (WebCore::shrinkMapVectorsToFit):
2090         (WebCore::RuleSet::shrinkToFit):
2091         (WebCore::CSSStyleSelector::matchPageRules):
2092         (WebCore::CSSStyleSelector::matchPageRulesForList):
2093         * css/CSSStyleSelector.h:
2094         (WebCore::CSSStyleSelector::addMatchedRule):
2095
2096 2011-02-02  Andrey Adaikin  <aandrey@google.com>
2097
2098         Reviewed by Pavel Feldman.
2099
2100         Web Inspector: Use DIVs instead of TABLE in TextViewer
2101         https://bugs.webkit.org/show_bug.cgi?id=53299
2102
2103         * inspector/front-end/SourceFrame.js:
2104         (WebInspector.SourceFrame.prototype._createTextViewer):
2105         (WebInspector.SourceFrame.prototype._mouseDown):
2106         * inspector/front-end/TextViewer.js:
2107         (WebInspector.TextViewer):
2108         (WebInspector.TextViewer.prototype.set mimeType):
2109         (WebInspector.TextViewer.prototype.revealLine):
2110         (WebInspector.TextViewer.prototype.addDecoration):
2111         (WebInspector.TextViewer.prototype.removeDecoration):
2112         (WebInspector.TextViewer.prototype.markAndRevealRange):
2113         (WebInspector.TextViewer.prototype.highlightLine):
2114         (WebInspector.TextViewer.prototype.clearLineHighlight):
2115         (WebInspector.TextViewer.prototype.freeCachedElements):
2116         (WebInspector.TextViewer.prototype._handleKeyDown):
2117         (WebInspector.TextViewer.prototype.editLine.finishEditing):
2118         (WebInspector.TextViewer.prototype.editLine):
2119         (WebInspector.TextViewer.prototype.beginUpdates):
2120         (WebInspector.TextViewer.prototype.endUpdates):
2121         (WebInspector.TextViewer.prototype.resize):
2122         (WebInspector.TextViewer.prototype._textChanged):
2123         (WebInspector.TextViewer.prototype._updatePanelOffsets):
2124         (WebInspector.TextViewer.prototype._syncScroll):
2125         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2126         (WebInspector.TextEditorChunkedPanel):
2127         (WebInspector.TextEditorChunkedPanel.prototype.set syncScrollListener):
2128         (WebInspector.TextEditorChunkedPanel.prototype.get textModel):
2129         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
2130         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
2131         (WebInspector.TextEditorChunkedPanel.prototype.revealLine):
2132         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2133         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2134         (WebInspector.TextEditorChunkedPanel.prototype.beginUpdates):
2135         (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2136         (WebInspector.TextEditorChunkedPanel.prototype.resize):
2137         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2138         (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2139         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2140         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2141         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2142         (WebInspector.TextEditorChunkedPanel.prototype._chunkForLine):
2143         (WebInspector.TextEditorGutterPanel):
2144         (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2145         (WebInspector.TextEditorGutterPanel.prototype._createNewChunk):
2146         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2147         (WebInspector.TextEditorGutterChunk):
2148         (WebInspector.TextEditorGutterChunk.prototype.get expanded):
2149         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
2150         (WebInspector.TextEditorGutterChunk.prototype.get height):
2151         (WebInspector.TextEditorGutterChunk.prototype._createRow):
2152         (WebInspector.TextEditorMainPanel):
2153         (WebInspector.TextEditorMainPanel.prototype.set syncDecorationsForLine):
2154         (WebInspector.TextEditorMainPanel.prototype.set mimeType):
2155         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2156         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2157         (WebInspector.TextEditorMainPanel.prototype.clearLineHighlight):
2158         (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2159         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
2160         (WebInspector.TextEditorMainPanel.prototype._createNewChunk):
2161         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2162         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2163         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2164         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2165         (WebInspector.TextEditorMainPanel.prototype._releaseLinesHighlight):
2166         (WebInspector.TextEditorMainPanel.prototype._getSelection):
2167         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2168         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2169         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2170         (WebInspector.TextEditorMainPanel.prototype._appendTextNode):
2171         (WebInspector.TextEditorMainPanel.prototype._handleDomUpdates):
2172         (WebInspector.TextEditorMainChunk):
2173         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2174         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2175         (WebInspector.TextEditorMainChunk.prototype.get height):
2176         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2177         (WebInspector.TextEditorMainChunk.prototype._createRow):
2178         (WebInspector):
2179         * inspector/front-end/textViewer.css:
2180         (.text-editor-lines):
2181         (.text-editor-contents):
2182         (.text-editor-editable):
2183         (.webkit-line-decorations):
2184         (.webkit-line-number):
2185         (.webkit-execution-line.webkit-line-content):
2186         (.diff-container .webkit-added-line.webkit-line-content):
2187         (.diff-container .webkit-removed-line.webkit-line-content):
2188         (.diff-container .webkit-changed-line.webkit-line-content):
2189         (.webkit-highlighted-line.webkit-line-content):
2190
2191 2011-02-02  Hans Wennborg  <hans@chromium.org>
2192
2193         Reviewed by Jeremy Orlow.
2194
2195         IndexedDB: Implement support for cursor updates
2196         https://bugs.webkit.org/show_bug.cgi?id=53421
2197
2198         Implement support for cursor updates using the same pattern as cursor
2199         deletes: forward the calls to the IDBObjectStoreBackend::put().
2200         The put() function's signature needs to be changed to allow for a
2201         "cursor update mode". This makes the signature more clear anyway,
2202         since it replaces the boolean parameter.
2203
2204         Test: storage/indexeddb/cursor-update.html
2205
2206         * storage/IDBCursor.idl:
2207         * storage/IDBCursorBackendImpl.cpp:
2208         (WebCore::IDBCursorBackendImpl::key):
2209         (WebCore::IDBCursorBackendImpl::update):
2210         * storage/IDBCursorBackendImpl.h:
2211         * storage/IDBObjectStore.cpp:
2212         (WebCore::IDBObjectStore::add):
2213         (WebCore::IDBObjectStore::put):
2214         * storage/IDBObjectStoreBackendImpl.cpp:
2215         (WebCore::IDBObjectStoreBackendImpl::put):
2216         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2217         * storage/IDBObjectStoreBackendImpl.h:
2218         * storage/IDBObjectStoreBackendInterface.h:
2219
2220 2011-02-02  Naoki Takano  <takano.naoki@gmail.com>
2221
2222         Reviewed by Kent Tamura.
2223
2224         Fix popup menu RTL bug introduced by Changeset 75982.
2225         https://bugs.webkit.org/show_bug.cgi?id=53567
2226
2227         PopupMenuChromium::layout() calculates X position according to RTL or not. So Change the X position calculation in layoutAndCalculateWidgetRect().
2228
2229         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
2230
2231         * platform/chromium/PopupMenuChromium.cpp:
2232         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Fix calculation of x position, because layout() considers RTL. And change the parameter from both X and Y positions to only Y position.
2233         (WebCore::PopupContainer::showPopup): Change the passing parameter.
2234         (WebCore::PopupContainer::refresh): Change the passing parameter.
2235         * platform/chromium/PopupMenuChromium.h: Change the parameter declaration.
2236
2237 2011-02-02  Alejandro G. Castro  <alex@igalia.com>
2238
2239         Reviewed by Martin Robinson.
2240
2241         [GTK] Fix dist compilation
2242         https://bugs.webkit.org/show_bug.cgi?id=53579
2243
2244         * GNUmakefile.am: Added FontWidthVariant.h to the sources, it was
2245         added in r77153.
2246
2247 2011-02-02  Dai Mikurube  <dmikurube@google.com>
2248
2249         Reviewed by David Levin.
2250
2251         Make mime type lookup in File::create(path) thread-safe
2252         https://bugs.webkit.org/show_bug.cgi?id=47700
2253
2254         This patch introduces a new function MIMETypeRegistry::getMIMETypeForExtensionThreadSafe().
2255         The function is to be called as a thread-safe version of getMIMETypeForExtension() when
2256         both FILE_SYSTEM and WORKERS are enabled.
2257
2258         No tests for this patch. This patch itself doesn't change the behaviors.
2259         For Chromium, it runs in the same way with getMIMETypeForExtensionThreadSafe().
2260         For the other platforms, it causes compilation error in case of enabled FILE_SYSTEM and WORKERS.
2261         The compilation error would be a signal to implement getMIMETypeForExtensionThreadSafe() in these
2262         platforms. Currently it doesn't happen since FILE_SYSTEM is not available in the other platforms.
2263
2264         * platform/MIMETypeRegistry.cpp: Defined generic getMIMETypeForExtension() calling getMIMETypeForExtensionThreadSafe() for enabled FILE_SYSTEM and WORKERS.
2265         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2266         * platform/MIMETypeRegistry.h: Declared getMIMETypeForExtensionThreadSafe() which should be implemented for each platform.
2267         * platform/android/TemporaryLinkStubs.cpp:
2268         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2269         * platform/brew/MIMETypeRegistryBrew.cpp:
2270         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2271         * platform/chromium/MIMETypeRegistryChromium.cpp: Defined getMIMETypeForExtensionThreadSafe() for the case when FILE_SYSTEM and WORKERS are enabled.
2272         (WebCore::MIMETypeRegistry::getMIMETypeForExtensionThreadSafe):
2273         * platform/efl/MIMETypeRegistryEfl.cpp:
2274         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2275         * platform/gtk/MIMETypeRegistryGtk.cpp:
2276         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2277         * platform/haiku/MIMETypeRegistryHaiku.cpp:
2278         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2279         * platform/mac/MIMETypeRegistryMac.mm:
2280         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2281         * platform/qt/MIMETypeRegistryQt.cpp:
2282         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2283         * platform/win/MIMETypeRegistryWin.cpp:
2284         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2285         * platform/wince/MIMETypeRegistryWinCE.cpp:
2286         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2287         * platform/wx/MimeTypeRegistryWx.cpp:
2288         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2289
2290 2011-02-01  Adam Barth  <abarth@webkit.org>
2291
2292         Reviewed by Alexey Proskuryakov.
2293
2294         Improve readability of updateWidget by converting bool parameter to an enum
2295         https://bugs.webkit.org/show_bug.cgi?id=53576
2296
2297         As requested on webkit-dev.
2298
2299         * html/HTMLEmbedElement.cpp:
2300         (WebCore::HTMLEmbedElement::updateWidget):
2301         * html/HTMLEmbedElement.h:
2302         * html/HTMLMediaElement.cpp:
2303         (WebCore::HTMLMediaElement::updateWidget):
2304         * html/HTMLMediaElement.h:
2305         * html/HTMLObjectElement.cpp:
2306         (WebCore::HTMLObjectElement::updateWidget):
2307         * html/HTMLObjectElement.h:
2308         * html/HTMLPlugInImageElement.cpp:
2309         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2310         * html/HTMLPlugInImageElement.h:
2311         * page/FrameView.cpp:
2312         (WebCore::FrameView::updateWidget):
2313
2314 2011-02-01  James Robinson  <jamesr@chromium.org>
2315
2316         Reviewed by Adam Barth.
2317
2318         [v8] Increase V8 native->js recursion limit to match document.write() recursion limit
2319         https://bugs.webkit.org/show_bug.cgi?id=53566
2320
2321         A recursion limit of 22 is necessary to pass fast/dom/Document/document-write-recursion.html.
2322         Other than being large enough for this one test case, this limit is arbitrary.
2323
2324         * bindings/v8/V8Proxy.h:
2325
2326 2011-02-01  Adam Barth  <abarth@webkit.org>
2327
2328         Reviewed by Andreas Kling.
2329
2330         Remove useless comment
2331         https://bugs.webkit.org/show_bug.cgi?id=53549
2332
2333         The reason for this parameter is captured in
2334         plugins/netscape-plugin-setwindow-size.html, which is a better place to
2335         capture it than in this comment (which otherwise just re-iterates the
2336         name of the parameter).
2337
2338         * html/HTMLPlugInImageElement.cpp:
2339         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2340
2341 2011-02-01  James Simonsen  <simonjam@chromium.org>
2342
2343         Reviewed by Tony Gentilcore.
2344
2345         [WebTiming] Remove asserts that verify timestamp order
2346         https://bugs.webkit.org/show_bug.cgi?id=53548
2347
2348         Covered by existing tests.
2349
2350         * loader/FrameLoader.cpp:
2351         (WebCore::FrameLoader::stopLoading): Remove assert.
2352         * page/DOMWindow.cpp:
2353         (WebCore::DOMWindow::dispatchTimedEvent): Ditto.
2354
2355 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2356
2357         Add the 'default_targets' enclosure to the flags.
2358
2359         * WebCore.gyp/WebCore.gyp: Did it.
2360
2361 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
2362
2363         Reviewed by James Robinson.
2364
2365         Async event handlers should not fire within a modal dialog
2366         https://bugs.webkit.org/show_bug.cgi?id=53202
2367
2368         Asychronous events that use EventQueue would currently fire while a
2369         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
2370         SuspendableTimer (which automatically gets suspended while dialogs are
2371         up and in other cases where JS execution is not allowed).
2372         
2373         Test: fast/events/scroll-event-during-modal-dialog.html
2374
2375         * dom/Document.cpp:
2376         (WebCore::Document::Document):
2377         * dom/EventQueue.cpp:
2378         (WebCore::EventQueueTimer::EventQueueTimer):
2379         (WebCore::EventQueueTimer::fired):
2380         (WebCore::EventQueue::EventQueue):
2381         (WebCore::EventQueue::enqueueEvent):
2382         (WebCore::EventQueue::pendingEventTimerFired):
2383         * dom/EventQueue.h:
2384         (WebCore::EventQueue::create):
2385         * page/SuspendableTimer.cpp:
2386         (WebCore::SuspendableTimer::SuspendableTimer):
2387         (WebCore::SuspendableTimer::suspend):
2388         (WebCore::SuspendableTimer::resume):
2389         * page/SuspendableTimer.h:
2390
2391 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2392
2393         Reviewed by Andreas Kling.
2394
2395         Change wrong PLATFORM(WIN) to USE(WININET)
2396         https://bugs.webkit.org/show_bug.cgi?id=53547
2397
2398         * platform/network/ResourceHandle.h:
2399
2400 2011-02-01  Beth Dakin  <bdakin@apple.com>
2401
2402         32-bit build fix.
2403
2404         * platform/mac/ScrollAnimatorMac.mm:
2405         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2406
2407 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
2408
2409         Reviewed by Gustavo Noronha Silva.
2410
2411         [GTK] Two tests crash after r76555
2412         https://bugs.webkit.org/show_bug.cgi?id=53057
2413
2414         Instead of creating synchronous ResourceHandles manually, use the ::create factory.
2415         This ensures that ::start() is not called when there is a scheduled failure and also
2416         reduces code duplication.
2417
2418         * platform/network/soup/ResourceHandleSoup.cpp:
2419         (WebCore::ResourceHandle::loadResourceSynchronously): Use the ::create factory method.
2420
2421 2011-02-01  Martin Robinson  <mrobinson@igalia.com>
2422
2423         Reviewed by Eric Seidel.
2424
2425         [GTK] GObject DOM bindings do no support the CallWith attribute
2426         https://bugs.webkit.org/show_bug.cgi?id=53331
2427
2428         Disable building GObject DOM bindings for IndexedDB because we do not support
2429         the CallWith attribute at this time.
2430
2431         * bindings/gobject/GNUmakefile.am: Disable building bindings for the IndexedDB API.
2432
2433 2011-02-01  Darin Adler  <darin@apple.com>
2434
2435         Reviewed by Brady Eidson.
2436
2437         Fix a couple loose ends from the back/forward tree encode/decode work
2438         https://bugs.webkit.org/show_bug.cgi?id=53537
2439
2440         * history/HistoryItem.cpp:
2441         (WebCore::HistoryItem::encodeBackForwardTreeNode): Remove extra copy of
2442         original URL string; no need to encode it twice.
2443         (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
2444         * history/HistoryItem.h: Removed declaration for function that is no
2445         longer defined nor used.
2446
2447 2011-02-01  Tony Chang  <tony@chromium.org>
2448
2449         Reviewed by Kent Tamura.
2450
2451         [chromium] disable arm uninitialized variable warnings
2452         https://bugs.webkit.org/show_bug.cgi?id=53553
2453
2454         We just got another error:
2455         third_party/WebKit/Source/WebCore/css/CSSPrimitiveValue.cpp:123:error:
2456         'colorTransparent.unstatic.4879' may be used uninitialized in this
2457         function
2458
2459         * WebCore.gyp/WebCore.gyp:
2460
2461 2011-02-01  chris reiss  <christopher.reiss@nokia.com>
2462
2463         Reviewed by Adam Barth.
2464
2465         Self-replicating code makes Safari hang and eventually crash
2466         https://bugs.webkit.org/show_bug.cgi?id=15123
2467
2468        
2469         Here we are replicating the Firefox safeguard against
2470         recursive document.write( ) 's.
2471
2472         See  https://bug197052.bugzilla.mozilla.org/attachment.cgi?id=293907 in bug 
2473         https://bugzilla.mozilla.org/show_bug.cgi?id=197052 .   Firefox does two things - 
2474             a) imposes a recursion limit of 20 on document.write( ) and
2475             b) once that limit is passed, panics all the way the call stack (rather than just returning one level.)
2476         To see why this is necessary, consider the script : 
2477
2478         <script>
2479            var t = document.body.innerHTML;
2480            document.write(t);
2481         </script> 
2482
2483         This will create a tree both broad and deep as the script keeps appending itself to the text.   If
2484         we just return one level after the recursion limit is reached, we still allow millions of copies to 
2485         duplicate (and execute).   
2486
2487         The recursion is fortunately depth-first, so as soon as we cross this limit, we panic up the callstack
2488         to prevent this situation.    (IE apparently does the same thing, with a lower recursion limit.) 
2489
2490         Test: fast/dom/Document/document-write-recursion.html        
2491         Test: fast/dom/Document/document-close-iframe-load.html
2492         Test: fast/dom/Document/document-close-nested-iframe-load.html
2493
2494
2495         * dom/Document.cpp:
2496         (WebCore::Document::Document):
2497         (WebCore::Document::write):
2498         * dom/Document.h:
2499
2500 2011-02-01  Johnny Ding  <jnd@chromium.org>
2501
2502         Reviewed by Darin Adler.
2503
2504         Don't set user gesture in HTMLAnchorElement's click handler because the click handler can be triggered by untrusted event.
2505         https://bugs.webkit.org/show_bug.cgi?id=53424
2506
2507         Test: fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html
2508
2509         * html/HTMLAnchorElement.cpp:
2510         (WebCore::handleLinkClick):
2511
2512 2011-02-01  Csaba Osztrogon√°c  <ossy@webkit.org>
2513
2514         Unreviewed Qt buildfix after r77286.
2515
2516         https://bugs.webkit.org/show_bug.cgi?id=53520 
2517         Remove the physical terminology from IntRect and FloatRect.
2518
2519         * platform/graphics/TiledBackingStore.cpp:
2520         (WebCore::TiledBackingStore::createTiles):
2521
2522 2011-02-01  Sam Weinig  <sam@webkit.org>
2523
2524         Fix Mac production builds.
2525
2526         * DerivedSources.make:
2527         * WebCore.xcodeproj/project.pbxproj:
2528         * platform/mac/ScrollAnimatorMac.h:
2529         * platform/mac/ScrollbarThemeMac.h:
2530
2531 2011-02-01  Darin Adler  <darin@apple.com>
2532
2533         Reviewed by Chris Fleizach.
2534
2535         REGRESSION: Removing focus from area element causes unwanted scrolling
2536         https://bugs.webkit.org/show_bug.cgi?id=50169
2537
2538         Test: fast/images/imagemap-scroll.html
2539
2540         * html/HTMLAreaElement.cpp:
2541         (WebCore::HTMLAreaElement::setFocus): Added override. Calls the new
2542         RenderImage::areaElementFocusChanged function.
2543         (WebCore::HTMLAreaElement::updateFocusAppearance): Removed the code
2544         here that calls setNeedsLayout on the image's renderer. This was an
2545         attempt to cause repaint of the renderer, but this function does not
2546         need to do that. Also changed this to use the imageElement function
2547         to avoid repeating code.
2548
2549         * html/HTMLAreaElement.h: Updated for above changes.
2550
2551         * rendering/RenderImage.cpp:
2552         (WebCore::RenderImage::paint): Updated for name change.
2553         (WebCore::RenderImage::paintAreaElementFocusRing): Renamed this from
2554         paintFocusRing, because it only paints area focus rings, and should
2555         not be confused with paintFocusRing functions in other classes. Also
2556         removed the unused style argument. Removed the code that used an
2557         HTMLCollection to see if the focused area element is for this image
2558         and instead just call imageElement on the area element.
2559         (WebCore::RenderImage::areaElementFocusChanged): Added. Calls repaint.
2560
2561         * rendering/RenderImage.h: Added a public areaElementFocusChanged
2562         function for HTMLAreaElement to call. Made the paintFocusRing function
2563         private, renamed it to paintAreaElementFocusRing, and removed its
2564         unused style argument.
2565
2566 2011-02-01  Patrick Gansterer  <paroga@webkit.org>
2567
2568         Unreviewed WinCE build fix for r77286.
2569
2570         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2571         (WebCore::TransparentLayerDC::TransparentLayerDC):
2572
2573 2011-02-01  Chris Fleizach  <cfleizach@apple.com>
2574
2575         Reviewed by Darin Adler.
2576
2577         AX: AXPosition of AXScrollArea is wrong
2578         https://bugs.webkit.org/show_bug.cgi?id=53511
2579
2580         AccessibilityScrollView needed to return a valid documentFrameView() object.
2581         At the same time, the code from document() should be consolidated in 
2582         AccessibilityObject, so all objects can use it.
2583
2584         Test: platform/mac/accessibility/webkit-scrollarea-position.html
2585
2586         * accessibility/AccessibilityObject.cpp:
2587         (WebCore::AccessibilityObject::document):
2588         * accessibility/AccessibilityObject.h:
2589         * accessibility/AccessibilityScrollView.cpp:
2590         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2591         (WebCore::AccessibilityScrollView::documentFrameView):
2592         * accessibility/AccessibilityScrollView.h:
2593
2594 2011-02-01  Zhenyao Mo  <zmo@google.com>
2595
2596         Reviewed by Kenneth Russell.
2597
2598         getUniform should support SAMPLER_2D or SAMPLER_CUBE
2599         https://bugs.webkit.org/show_bug.cgi?id=52190
2600
2601         * html/canvas/WebGLRenderingContext.cpp:
2602         (WebCore::WebGLRenderingContext::getUniform):
2603
2604 2011-02-01  Zhenyao Mo  <zmo@google.com>
2605
2606         Reviewed by Darin Adler.
2607
2608         Fix the incorrect usage of RetainPtr cases in GraphicsContext3DCG.cpp
2609         https://bugs.webkit.org/show_bug.cgi?id=53531
2610
2611         With this fix, running WebGL conformance tests should no longer crash randomly.
2612
2613         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2614         (WebCore::GraphicsContext3D::getImageData):
2615
2616 2011-02-01  Dimitri Glazkov  <dglazkov@chromium.org>
2617
2618         One more Chromium build fix after r77286.
2619
2620         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2621         (WebCore::ScrollbarThemeChromiumMac::paint): Changed to not use topLeft().
2622
2623 2011-02-01  Sam Weinig  <sam@webkit.org>
2624
2625         Fix the build for Beth.
2626
2627         * platform/mac/ScrollAnimatorMac.mm:
2628         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2629
2630 2011-02-01  Sam Weinig  <sam@webkit.org>
2631
2632         Reviewed by Beth Dakin.
2633
2634         Part 2 for <rdar://problem/8492788>
2635         Adopt WKScrollbarPainterController
2636
2637         Use header detection to define scrollbar painting controller #define.
2638
2639         * WebCore.exp.in:
2640         * platform/mac/ScrollAnimatorMac.h:
2641         * platform/mac/ScrollbarThemeMac.h:
2642         * platform/mac/WebCoreSystemInterface.h:
2643         * platform/mac/WebCoreSystemInterface.mm:
2644
2645 2011-02-01  David Hyatt  <hyatt@apple.com>
2646
2647         Reviewed by Oliver Hunt.
2648
2649         https://bugs.webkit.org/show_bug.cgi?id=53520
2650         
2651         Remove the physical terminology from IntRect and FloatRect.
2652         
2653         Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
2654         we need to update our terminology to be more accurate.
2655
2656         I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
2657         renaming right() and bottom() to maxX() and maxY().  These terms remain accurate
2658         even for flipped rectangles.
2659
2660         * accessibility/AccessibilityRenderObject.cpp:
2661         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2662         * accessibility/mac/AccessibilityObjectWrapper.mm:
2663         (-[AccessibilityObjectWrapper position]):
2664         * dom/ClientRect.h:
2665         (WebCore::ClientRect::right):
2666         (WebCore::ClientRect::bottom):
2667         * html/HTMLCanvasElement.cpp:
2668         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
2669         * html/canvas/CanvasRenderingContext2D.cpp:
2670         (WebCore::normalizeRect):
2671         * inspector/InspectorAgent.cpp:
2672         (WebCore::InspectorAgent::drawElementTitle):
2673         * page/DOMWindow.cpp:
2674         (WebCore::DOMWindow::adjustWindowRect):
2675         * page/DragController.cpp:
2676         (WebCore::dragLocForSelectionDrag):
2677         * page/EventHandler.cpp:
2678         (WebCore::EventHandler::sendContextMenuEventForKey):
2679         * page/PrintContext.cpp:
2680         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
2681         (WebCore::PrintContext::pageNumberForElement):
2682         * page/SpatialNavigation.cpp:
2683         (WebCore::end):
2684         (WebCore::areRectsFullyAligned):
2685         (WebCore::areRectsMoreThanFullScreenApart):
2686         (WebCore::below):
2687         (WebCore::rightOf):
2688         (WebCore::isRectInDirection):
2689         (WebCore::entryAndExitPointsForDirection):
2690         (WebCore::virtualRectForDirection):
2691         * page/WindowFeatures.cpp:
2692         (WebCore::WindowFeatures::WindowFeatures):
2693         * platform/ScrollView.cpp:
2694         (WebCore::ScrollView::wheelEvent):
2695         * platform/Scrollbar.cpp:
2696         (WebCore::Scrollbar::setFrameRect):
2697         * platform/ScrollbarThemeComposite.cpp:
2698         (WebCore::ScrollbarThemeComposite::splitTrack):
2699         * platform/chromium/ScrollbarThemeChromium.cpp:
2700         (WebCore::ScrollbarThemeChromium::paintTickmarks):
2701         * platform/graphics/FloatQuad.h:
2702         (WebCore::FloatQuad::FloatQuad):
2703         * platform/graphics/FloatRect.cpp:
2704         (WebCore::FloatRect::intersects):
2705         (WebCore::FloatRect::contains):
2706         (WebCore::FloatRect::intersect):
2707         (WebCore::FloatRect::unite):
2708         (WebCore::enclosingIntRect):
2709         * platform/graphics/FloatRect.h:
2710         (WebCore::FloatRect::maxX):
2711         (WebCore::FloatRect::maxY):
2712         (WebCore::FloatRect::contains):
2713         * platform/graphics/IntRect.cpp:
2714         (WebCore::IntRect::intersects):
2715         (WebCore::IntRect::contains):
2716         (WebCore::IntRect::intersect):
2717         (WebCore::IntRect::unite):
2718         * platform/graphics/IntRect.h:
2719         (WebCore::IntRect::maxX):
2720         (WebCore::IntRect::maxY):
2721         (WebCore::IntRect::shiftXEdgeTo):
2722         (WebCore::IntRect::shiftMaxXEdgeTo):
2723         (WebCore::IntRect::shiftYEdgeTo):
2724         (WebCore::IntRect::shiftMaxYEdgeTo):
2725         (WebCore::IntRect::contains):
2726         * platform/graphics/WidthIterator.cpp:
2727         (WebCore::WidthIterator::advance):
2728         * platform/graphics/cg/GraphicsContextCG.cpp:
2729         (WebCore::GraphicsContext::drawRect):
2730         (WebCore::GraphicsContext::fillPath):
2731         (WebCore::GraphicsContext::fillRect):
2732         * platform/graphics/cg/ImageBufferCG.cpp:
2733         (WebCore::getImageData):
2734         (WebCore::putImageData):
2735         * platform/graphics/cg/ImageCG.cpp:
2736         (WebCore::BitmapImage::draw):
2737         * platform/graphics/filters/FilterEffect.cpp:
2738         (WebCore::FilterEffect::copyImageBytes):
2739         * platform/graphics/mac/ComplexTextController.cpp:
2740         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2741         * platform/graphics/mac/SimpleFontDataMac.mm:
2742         (WebCore::SimpleFontData::platformBoundsForGlyph):
2743         * platform/graphics/transforms/AffineTransform.cpp:
2744         (WebCore::AffineTransform::mapRect):
2745         * platform/graphics/win/FontCGWin.cpp:
2746         (WebCore::drawGDIGlyphs):
2747         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2748         (WebCore::MediaPlayerPrivate::paint):
2749         * platform/gtk/RenderThemeGtk.cpp:
2750         (WebCore::centerRectVerticallyInParentInputElement):
2751         * platform/mac/WidgetMac.mm:
2752         (WebCore::Widget::paint):
2753         * rendering/InlineFlowBox.cpp:
2754         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2755         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2756         * rendering/InlineTextBox.cpp:
2757         (WebCore::InlineTextBox::selectionRect):
2758         (WebCore::InlineTextBox::paint):
2759         (WebCore::InlineTextBox::positionForOffset):
2760         * rendering/RenderBlock.cpp:
2761         (WebCore::RenderBlock::addOverflowFromChildren):
2762         (WebCore::RenderBlock::paintChildren):
2763         (WebCore::RenderBlock::paintEllipsisBoxes):
2764         (WebCore::RenderBlock::inlineSelectionGaps):
2765         (WebCore::RenderBlock::adjustPointToColumnContents):
2766         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2767         (WebCore::RenderBlock::adjustForColumns):
2768         * rendering/RenderBlock.h:
2769         (WebCore::RenderBlock::FloatingObject::right):
2770         (WebCore::RenderBlock::FloatingObject::bottom):
2771         * rendering/RenderBox.cpp:
2772         (WebCore::RenderBox::reflectedRect):
2773         (WebCore::RenderBox::localCaretRect):
2774         (WebCore::RenderBox::addShadowOverflow):
2775         (WebCore::RenderBox::addLayoutOverflow):
2776         (WebCore::RenderBox::visualOverflowRectForPropagation):
2777         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2778         (WebCore::RenderBox::flipForWritingMode):
2779         * rendering/RenderFrameSet.cpp:
2780         (WebCore::RenderFrameSet::paintColumnBorder):
2781         (WebCore::RenderFrameSet::paintRowBorder):
2782         * rendering/RenderInline.cpp:
2783         (WebCore::RenderInline::paintOutlineForLine):
2784         * rendering/RenderLayer.cpp:
2785         (WebCore::RenderLayer::getRectToExpose):
2786         (WebCore::cornerRect):
2787         (WebCore::RenderLayer::positionOverflowControls):
2788         (WebCore::RenderLayer::overflowBottom):
2789         (WebCore::RenderLayer::overflowRight):
2790         (WebCore::RenderLayer::paintResizer):
2791         * rendering/RenderLineBoxList.cpp:
2792         (WebCore::RenderLineBoxList::rangeIntersectsRect):
2793         (WebCore::RenderLineBoxList::paint):
2794         * rendering/RenderListItem.cpp:
2795         (WebCore::RenderListItem::positionListMarker):
2796         * rendering/RenderListMarker.cpp:
2797         (WebCore::RenderListMarker::paint):
2798         * rendering/RenderObject.cpp:
2799         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2800         * rendering/RenderOverflow.h:
2801         (WebCore::RenderOverflow::RenderOverflow):
2802         (WebCore::RenderOverflow::addLayoutOverflow):
2803         (WebCore::RenderOverflow::addVisualOverflow):
2804         (WebCore::RenderOverflow::setLayoutOverflow):
2805         (WebCore::RenderOverflow::setVisualOverflow):
2806         (WebCore::RenderOverflow::resetLayoutOverflow):
2807         * rendering/RenderReplaced.cpp:
2808         (WebCore::RenderReplaced::shouldPaint):
2809         * rendering/RenderScrollbarTheme.cpp:
2810         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2811         * rendering/RenderTable.cpp:
2812         (WebCore::RenderTable::paint):
2813         * rendering/RenderTableCell.cpp:
2814         (WebCore::RenderTableCell::paint):
2815         * rendering/RenderTableSection.cpp:
2816         (WebCore::RenderTableSection::paintObject):
2817         * rendering/RenderText.cpp:
2818         (WebCore::RenderText::absoluteQuads):
2819         * rendering/RenderTextControlSingleLine.cpp:
2820         (WebCore::RenderTextControlSingleLine::forwardEvent):
2821         * rendering/RenderThemeMac.mm:
2822         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2823         (WebCore::RenderThemeMac::paintMenuListButton):
2824         (WebCore::RenderThemeMac::paintSliderTrack):
2825         * rendering/RenderView.cpp:
2826         (WebCore::RenderView::computeRectForRepaint):
2827         (WebCore::RenderView::docBottom):
2828         (WebCore::RenderView::docRight):
2829         * rendering/RootInlineBox.cpp:
2830         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2831         * rendering/svg/RenderSVGInlineText.cpp:
2832         (WebCore::RenderSVGInlineText::localCaretRect):
2833
2834 2011-02-01  Beth Dakin  <bdakin@apple.com>
2835
2836         Reviewed by Sam Weinig.
2837
2838         Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
2839
2840         Lots of new WebCoreSystemInterface functions to export.
2841         * WebCore.exp.in:
2842         * platform/mac/WebCoreSystemInterface.h:
2843         * platform/mac/WebCoreSystemInterface.mm:
2844
2845         Let the scrollAnimator know when the mouse has
2846         moved anywhere inside the page, and when the mouse 
2847         has moved in or out of the window. 
2848         * page/EventHandler.cpp:
2849         (WebCore::EventHandler::mouseMoved):
2850         (WebCore::EventHandler::updateMouseEventTargetNode):
2851
2852         Let the scrollAnimator know when the window has become
2853         active or inactive.
2854         * page/FocusController.cpp:
2855         (WebCore::FocusController::setActive):
2856         
2857         Let the scrollAnimator know when all of these things
2858         are happening.
2859         * page/FrameView.cpp:
2860         (WebCore::FrameView::setContentsSize):
2861         (WebCore::FrameView::didMoveOnscreen):
2862         (WebCore::FrameView::willMoveOffscreen):
2863         (WebCore::FrameView::currentMousePosition):
2864         (WebCore::FrameView::contentsResized):
2865         
2866         New functions called through WebKit2 that allow the
2867         scrollAnimator to know when a live resize starts and ends.
2868         (WebCore::FrameView::willStartLiveResize):
2869         (WebCore::FrameView::willEndLiveResize):
2870         * page/FrameView.h:
2871         
2872         New functions on ScrollAnimator that pass information
2873         to the WKPainterController when we're using one.
2874         * platform/ScrollAnimator.h:
2875         (WebCore::ScrollAnimator::scrollableArea):
2876         (WebCore::ScrollAnimator::contentAreaWillPaint):
2877         (WebCore::ScrollAnimator::mouseEnteredContentArea):
2878         (WebCore::ScrollAnimator::mouseExitedContentArea):
2879         (WebCore::ScrollAnimator::mouseMovedInContentArea):
2880         (WebCore::ScrollAnimator::willStartLiveResize):
2881         (WebCore::ScrollAnimator::contentsResized):
2882         (WebCore::ScrollAnimator::willEndLiveResize):
2883         (WebCore::ScrollAnimator::contentAreaDidShow):
2884         (WebCore::ScrollAnimator::contentAreaDidHide):
2885         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2886         (WebCore::ScrollAnimatorMac::scrollbarPainterDelegate):
2887         (WebCore::ScrollAnimatorMac::setPainterForPainterController):
2888         (WebCore::ScrollAnimatorMac::removePainterFromPainterController):
2889         (WebCore::ScrollAnimatorMac::notityPositionChanged):
2890         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2891         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2892         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2893         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2894         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2895         (WebCore::ScrollAnimatorMac::contentsResized):
2896         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2897         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2898         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2899         
2900         Let the scrollAnimator know when this is happening.
2901         * platform/ScrollView.cpp:
2902         (WebCore::ScrollView::paint):
2903         
2904         New function lets the scrollAnimator get the current 
2905         mouse position.
2906         * platform/ScrollView.h:
2907         (WebCore::ScrollView::currentMousePosition):
2908         
2909         New function that returns the scrollAnimator when needed.
2910         * platform/ScrollableArea.h:
2911         (WebCore::ScrollableArea::scrollAnimator):
2912         
2913         Keep track of if we're in a live resize using a new memeber
2914         variable.
2915         * platform/mac/ScrollAnimatorMac.h:
2916         (WebCore::ScrollAnimatorMac::inLiveResize):
2917         * platform/mac/ScrollAnimatorMac.mm:
2918         (WebCore::view):
2919         
2920         New delegates for the WKPainter and WKPainterController
2921         (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
2922         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
2923         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
2924         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
2925         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
2926         (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2927         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
2928         (-[ScrollKnobAnimation initWithScrollbarPainter:forScrollAnimator:WebCore::animateKnobAlphaTo:duration:]):
2929         (-[ScrollKnobAnimation setCurrentProgress:]):
2930         (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
2931         (-[ScrollbarPainterDelegate convertRectToBacking:]):
2932         (-[ScrollbarPainterDelegate convertRectFromBacking:]):
2933         (-[ScrollbarPainterDelegate layer]):
2934         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:animateKnobAlphaTo:duration:]):
2935         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2936         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2937         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2938
2939         Get the WKScrollbarPainterRefs to synch up with the 
2940         WKScrollbarPainterControllerRefs when appropriate
2941         * platform/mac/ScrollbarThemeMac.h:
2942         * platform/mac/ScrollbarThemeMac.mm:
2943         (WebCore::ScrollbarThemeMac::registerScrollbar):
2944         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2945         (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
2946         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
2947
2948         Implement ScrollableArea's virtual function contentsSize() for access
2949         through the scrollAnimator.
2950         * rendering/RenderLayer.h:
2951         (WebCore::RenderLayer::contentsSize):
2952
2953 2011-02-01  Carol Szabo  <carol.szabo@nokia.com>
2954
2955         Reviewed by David Hyatt.
2956
2957         layoutTestController.counterValueForElementById does not return the correct value
2958         https://bugs.webkit.org/show_bug.cgi?id=53037
2959
2960         Test: fast/css/counters/deep-before.html
2961
2962         * rendering/RenderTreeAsText.cpp:
2963         (WebCore::counterValueForElement):
2964         Modified to use the newly available RenderObject::beforePseudoElement()
2965         and RenderObject::afterPseudoElement() instead of the old imperfect
2966         algorithm to find the before and after pseudo elements.
2967
2968 2011-02-01  Anton Muhin  <antonm@chromium.org>
2969
2970         Reviewed by Adam Barth.
2971
2972         Allow access for security origin same as this.
2973         https://bugs.webkit.org/show_bug.cgi?id=53440
2974
2975         Hard to test as newly added path currently is never hit.
2976
2977         * page/SecurityOrigin.cpp:
2978         (WebCore::SecurityOrigin::canAccess): allow access if this == other
2979
2980 2011-01-31  Oliver Hunt  <oliver@apple.com>
2981
2982         Reviewed by Geoffrey Garen.
2983
2984         Update JSObject storage for new marking API
2985         https://bugs.webkit.org/show_bug.cgi?id=53467
2986
2987         Update WebCore to handle new anonymous slot behaviour.
2988
2989         * bindings/js/JSDOMWindowShell.cpp:
2990         (WebCore::JSDOMWindowShell::setWindow):
2991         * bindings/js/WorkerScriptController.cpp:
2992         (WebCore::WorkerScriptController::initScript):
2993         * bindings/scripts/CodeGeneratorJS.pm:
2994
2995 2011-02-01  Xiaomei Ji  <xji@chromium.org>
2996
2997         Reviewed by David Hyatt.
2998
2999         Fix a text rendering problem when enclosing block is RTL and text runs
3000         are in different directionality.
3001         https://bugs.webkit.org/show_bug.cgi?id=34176
3002
3003         The problem happens in the following example scenario (ABC represents 
3004         Hebrew characters):
3005         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3006
3007         The line consists of 3 text runs -- TextRun1 TextRun2 TextRun3. In which
3008         TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
3009         TextRun2 and TextRun3's least common ancestor is not a sibling of TextRun1.
3010
3011         The visual bidi run order of the text runs is TextRun3 TextRun1 TextRun2.
3012
3013         Inside RenderBlock::constructLine(), when RenderBlock::createLineBoxes()
3014         creates InlineFlowBox for TextRun2, it should check an InlineFlowBox for
3015         the run's render object's ancestor (not only its parent) has already 
3016         been constructed or has something following it on the line, in which 
3017         case, create a new box for TextRun2 instead of sharing the same box with
3018         TextRun3.
3019
3020         In other words, the following 2 div should render the same results
3021         (ABC represents Hebrew characters).
3022         <div dir=rtl>this is a <span><span>test <span>ABC</span></span></span></div>
3023         <div dir=rtl>this is a <span>Test <span>ABC</span></span></div>
3024
3025         Test: fast/dom/34176.html
3026
3027         * rendering/RenderBlockLineLayout.cpp:
3028         (WebCore::parentIsConstructedOrHaveNext):
3029         (WebCore::RenderBlock::createLineBoxes):
3030
3031 2011-02-01  Abhishek Arya  <inferno@chromium.org>
3032
3033         Reviewed by Dan Bernstein.
3034
3035         Do not add a node in the document's stylesheet candidate node list if the
3036         node is already removed from document.
3037         https://bugs.webkit.org/show_bug.cgi?id=53441
3038
3039         Test: fast/css/stylesheet-candidate-nodes-crash.xhtml
3040
3041         * dom/Document.cpp:
3042         (WebCore::Document::addStyleSheetCandidateNode):
3043
3044 2011-02-01  Dave Hyatt  <hyatt@apple.com>
3045
3046         Reviewed by Darin Adler.
3047
3048         https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
3049         with vertical text.
3050
3051         Change printing functions to check writing-mode and properly swap width and height
3052         as needed.
3053         
3054         Fix the setScrollOrigin function so that the origin doesn't cause
3055         scroll spasming during printing (this is only partially successful, but it's better
3056         than it was).
3057
3058         Rewrite computePageRects to handle both RTL documents properly as well as vertical
3059         text documents properly.
3060
3061         * WebCore.exp.in:
3062         * page/FrameView.cpp:
3063         (WebCore::FrameView::adjustViewSize):
3064         (WebCore::FrameView::forceLayoutForPagination):
3065         * page/PrintContext.cpp:
3066         (WebCore::PrintContext::computePageRects):
3067         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3068         (WebCore::PrintContext::computeAutomaticScaleFactor):
3069         (WebCore::PrintContext::spoolPage):
3070         (WebCore::PrintContext::spoolRect):
3071         * page/PrintContext.h:
3072         * page/mac/WebCoreFrameView.h:
3073         * platform/ScrollView.cpp:
3074         (WebCore::ScrollView::wheelEvent):
3075         * platform/ScrollView.h:
3076         * platform/mac/ScrollViewMac.mm:
3077         (WebCore::ScrollView::platformSetScrollOrigin):
3078         * rendering/RenderView.cpp:
3079         (WebCore::RenderView::layout):
3080
3081 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
3082
3083         Reviewed by Pavel Feldman.
3084
3085         Web Inspector: Fix profiles reset to avoid clearing heap profiles in Chromium.
3086
3087         https://bugs.webkit.org/show_bug.cgi?id=53500
3088
3089         * inspector/InspectorProfilerAgent.cpp:
3090         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3091
3092 2011-02-01  Mikhail Naganov  <mnaganov@chromium.org>
3093
3094         Reviewed by Pavel Feldman.
3095
3096         Web Inspector: [Chromium] Landing detailed heap snapshots, part 1.
3097
3098         https://bugs.webkit.org/show_bug.cgi?id=53173
3099
3100         Adding code for accessing heap snapshot data and
3101         performing graph calculations.
3102
3103         * English.lproj/localizedStrings.js:
3104         * inspector/front-end/HeapSnapshot.js:
3105         (WebInspector.HeapSnapshotArraySlice): Helper class to avoid array contents copying.
3106         (WebInspector.HeapSnapshotEdge): Wrapper for accessing graph edge properties.
3107         (WebInspector.HeapSnapshotEdgeIterator):
3108         (WebInspector.HeapSnapshotNode): Wrapper for accessing graph node properties.
3109         (WebInspector.HeapSnapshotNodeIterator):
3110         (WebInspector.HeapSnapshot): Wrapper for the heap snapshot.
3111         (WebInspector.HeapSnapshotFilteredOrderedIterator):
3112         (WebInspector.HeapSnapshotEdgesProvider):
3113         (WebInspector.HeapSnapshotNodesProvider):
3114         (WebInspector.HeapSnapshotPathFinder):
3115         * inspector/front-end/HeapSnapshotView.js:
3116         (WebInspector.HeapSnapshotView.prototype._convertSnapshot):
3117
3118 2011-02-01  Adam Roben  <aroben@apple.com>
3119
3120         Fix linker warnings in Release_LTCG builds
3121
3122         * WebCore.vcproj/WebCore.vcproj: Exclude EventNames.cpp and EventTarget.cpp from all
3123         configurations, since they get pulled in via DOMAllInOne.cpp.
3124
3125 2011-02-01  Alexander Pavlov  <apavlov@chromium.org>
3126
3127         Reviewed by Yury Semikhatsky.
3128
3129         Web Inspector: [Chromium] Wrongly labelled context-menu item for links in Web Inspector's side-pane
3130         https://bugs.webkit.org/show_bug.cgi?id=53482
3131
3132         * English.lproj/localizedStrings.js:
3133         * inspector/front-end/ElementsPanel.js:
3134         (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
3135         * inspector/front-end/inspector.js:
3136         (WebInspector.resourceForURL):
3137         (WebInspector.openLinkExternallyLabel):
3138
3139 2011-02-01  Anton Muhin  <antonm@chromium.org>
3140
3141         Reviewed by Adam Barth.
3142
3143         Propagate parent document security origin to newly create Document XML response
3144         https://bugs.webkit.org/show_bug.cgi?id=53444
3145
3146         Covered by the existing tests.
3147
3148         * xml/XMLHttpRequest.cpp:
3149         (WebCore::XMLHttpRequest::responseXML):
3150
3151 2011-02-01  Yury Semikhatsky  <yurys@chromium.org>
3152
3153         Unreviewed. Rollout r77230 which caused many layout tests
3154         crashes on Chromium Debug bots.
3155
3156         Async event handlers should not fire within a modal dialog
3157         https://bugs.webkit.org/show_bug.cgi?id=53202
3158
3159         * dom/Document.cpp:
3160         (WebCore::Document::Document):
3161         * dom/EventQueue.cpp:
3162         (WebCore::EventQueue::EventQueue):
3163         (WebCore::EventQueue::enqueueEvent):
3164         (WebCore::EventQueue::pendingEventTimerFired):
3165         * dom/EventQueue.h:
3166
3167 2011-02-01  Zoltan Herczeg  <zherczeg@webkit.org>
3168
3169         Reviewed by Dirk Schulze.
3170
3171         LightElement changes does not require relayout.
3172         https://bugs.webkit.org/show_bug.cgi?id=53232
3173
3174         When an attribute of a LightElement changes, it
3175         send an update message to the lighting filters
3176         to update its corresponding LightSource objects,
3177         and repaint the filters.
3178
3179         Duplicated 'id' attributes removed from svg-filter-animation.svg.
3180
3181         Existing dynamic-update tests covers this feature.
3182
3183         5x speedup on manual-tests/svg-filter-animation.svg
3184
3185         * manual-tests/svg-filter-animation.svg:
3186         * platform/graphics/filters/DistantLightSource.h:
3187         * platform/graphics/filters/FEDiffuseLighting.cpp:
3188         (WebCore::FEDiffuseLighting::setLightingColor):
3189         (WebCore::FEDiffuseLighting::setSurfaceScale):
3190         (WebCore::FEDiffuseLighting::setDiffuseConstant):
3191         (WebCore::FEDiffuseLighting::setKernelUnitLengthX):
3192         (WebCore::FEDiffuseLighting::setKernelUnitLengthY):
3193         * platform/graphics/filters/FEDiffuseLighting.h:
3194         * platform/graphics/filters/LightSource.cpp:
3195         (WebCore::PointLightSource::setX):
3196         (WebCore::PointLightSource::setY):
3197         (WebCore::PointLightSource::setZ):
3198         (WebCore::SpotLightSource::setX):
3199         (WebCore::SpotLightSource::setY):
3200         (WebCore::SpotLightSource::setZ):
3201         (WebCore::SpotLightSource::setPointsAtX):
3202         (WebCore::SpotLightSource::setPointsAtY):
3203         (WebCore::SpotLightSource::setPointsAtZ):
3204         (WebCore::SpotLightSource::setSpecularExponent):
3205         (WebCore::SpotLightSource::setLimitingConeAngle):
3206         (WebCore::DistantLightSource::setAzimuth):
3207         (WebCore::DistantLightSource::setElevation):
3208         (WebCore::LightSource::setAzimuth):
3209         (WebCore::LightSource::setElevation):
3210         (WebCore::LightSource::setX):
3211         (WebCore::LightSource::setY):
3212         (WebCore::LightSource::setZ):
3213         (WebCore::LightSource::setPointsAtX):
3214         (WebCore::LightSource::setPointsAtY):
3215         (WebCore::LightSource::setPointsAtZ):
3216         (WebCore::LightSource::setSpecularExponent):
3217         (WebCore::LightSource::setLimitingConeAngle):
3218         * platform/graphics/filters/LightSource.h:
3219         * platform/graphics/filters/PointLightSource.h:
3220         * platform/graphics/filters/SpotLightSource.h:
3221         * rendering/svg/RenderSVGResourceFilter.cpp:
3222         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
3223         * svg/SVGFEDiffuseLightingElement.cpp:
3224         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3225         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3226         (WebCore::SVGFEDiffuseLightingElement::build):
3227         (WebCore::SVGFEDiffuseLightingElement::findLightElement):
3228         (WebCore::SVGFEDiffuseLightingElement::findLight):
3229         * svg/SVGFEDiffuseLightingElement.h:
3230         * svg/SVGFELightElement.cpp:
3231         (WebCore::SVGFELightElement::svgAttributeChanged):
3232         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3233         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
3234         * svg/SVGFilterPrimitiveStandardAttributes.h:
3235
3236 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3237
3238         Reviewed by Dimitri Glazkov.
3239
3240         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3241         https://bugs.webkit.org/show_bug.cgi?id=53289
3242
3243         Moving the nested class DocumentOrderedMap from Document into separate files,
3244         updating code where necessary.
3245
3246         No new tests. (refactoring)
3247
3248         * Android.mk:
3249         * CMakeLists.txt:
3250         * GNUMakefile.am:
3251         * WebCore.gypi:
3252         * WebCore.pro:
3253         * WebCore.vcproj/WebCore.vcproj:
3254         * WebCore.xcodeproj/project.pbxproj:
3255         * dom/Document.cpp:
3256         (WebCore::Document::getElementById):
3257         (WebCore::Document::getImageMap):
3258         * dom/Document.h:
3259         * dom/DocumentOrderedMap.cpp: Added.
3260         (WebCore::keyMatchesId):
3261         (WebCore::keyMatchesMapName):
3262         (WebCore::keyMatchesLowercasedMapName):
3263         (WebCore::DocumentOrderedMap::clear):
3264         (WebCore::DocumentOrderedMap::add):
3265         (WebCore::DocumentOrderedMap::remove):
3266         (WebCore::DocumentOrderedMap::get):
3267         (WebCore::DocumentOrderedMap::getElementById):
3268         (WebCore::DocumentOrderedMap::getElementByMapName):
3269         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3270         * dom/DocumentOrderedMap.h: Added.
3271         (WebCore::DocumentOrderedMap::contains):
3272         (WebCore::DocumentOrderedMap::containsMultiple):
3273         * dom/DOMAllInOne.cpp:
3274
3275 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3276
3277         Reviewed by Martin Robinson.
3278
3279         [Gtk] atk_text_set_caret_offset fails for list items
3280         https://bugs.webkit.org/show_bug.cgi?id=53388
3281
3282         Allow using text ranges across list items.
3283
3284         * accessibility/gtk/AccessibilityObjectAtk.cpp:
3285         (WebCore::AccessibilityObject::allowsTextRanges): Add list items
3286         to the list of accessibility objects supporting text ranges.
3287
3288 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3289
3290         Reviewed by Martin Robinson.
3291
3292         [GTK] character range extents is off when the end of a wrapped line is included
3293         https://bugs.webkit.org/show_bug.cgi?id=53323
3294
3295         Fixed wrong calculation getting the range extents.
3296
3297         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3298         (webkit_accessible_text_get_range_extents): Removed '+1' since the
3299         requested interval shouldn't include the last character.
3300
3301 2011-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
3302
3303         Reviewed by Martin Robinson.
3304
3305         [GTK] Caret Offset is one off at the end of wrapped lines
3306         https://bugs.webkit.org/show_bug.cgi?id=53300
3307
3308         Consider linebreaks as special cases.
3309
3310         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3311         (objectAndOffsetUnignored): In order to avoid getting wrong values
3312         when around linebreaks, we need to workaround this by explicitly
3313         avoiding those '\n' text nodes from affecting the result of
3314         calling to TextIterator:rangeLength().
3315
3316 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3317
3318         Unreviewed, rolling out r77229.
3319         http://trac.webkit.org/changeset/77229
3320         https://bugs.webkit.org/show_bug.cgi?id=53289
3321
3322         revert mysterious build breakage
3323
3324         * Android.mk:
3325         * CMakeLists.txt:
3326         * GNUmakefile.am:
3327         * WebCore.gypi:
3328         * WebCore.pro:
3329         * WebCore.vcproj/WebCore.vcproj:
3330         * WebCore.xcodeproj/project.pbxproj:
3331         * dom/DOMAllInOne.cpp:
3332         * dom/Document.cpp:
3333         (WebCore::Document::DocumentOrderedMap::clear):
3334         (WebCore::Document::DocumentOrderedMap::add):
3335         (WebCore::Document::DocumentOrderedMap::remove):
3336         (WebCore::Document::DocumentOrderedMap::get):
3337         (WebCore::keyMatchesId):
3338         (WebCore::Document::getElementById):
3339         (WebCore::keyMatchesMapName):
3340         (WebCore::keyMatchesLowercasedMapName):
3341         (WebCore::Document::getImageMap):
3342         * dom/Document.h:
3343         (WebCore::Document::DocumentOrderedMap::contains):
3344         (WebCore::Document::DocumentOrderedMap::containsMultiple):
3345         * dom/DocumentOrderedMap.cpp: Removed.
3346         * dom/DocumentOrderedMap.h: Removed.
3347
3348 2011-02-01  Mihai Parparita  <mihaip@chromium.org>
3349
3350         Reviewed by James Robinson.
3351
3352         Async event handlers should not fire within a modal dialog
3353         https://bugs.webkit.org/show_bug.cgi?id=53202
3354
3355         Asychronous events that use EventQueue would currently fire while a
3356         modal dialog (e.g. window.alert()) was up. Change EventQueue to use a
3357         SuspendableTimer (which automatically gets suspended while dialogs are
3358         up and in other cases where JS execution is not allowed).
3359         
3360         Test: fast/events/scroll-event-during-modal-dialog.html
3361
3362         * dom/Document.cpp:
3363         (WebCore::Document::Document):
3364         * dom/EventQueue.cpp:
3365         (WebCore::EventQueueTimer::EventQueueTimer):
3366         (WebCore::EventQueueTimer::fired):
3367         (WebCore::EventQueue::EventQueue):
3368         (WebCore::EventQueue::enqueueEvent):
3369         (WebCore::EventQueue::pendingEventTimerFired):
3370         * dom/EventQueue.h:
3371         (WebCore::EventQueue::create):
3372
3373 2011-02-01  Roland Steiner  <rolandsteiner@chromium.org>
3374
3375         Reviewed by Dimitri Glazkov.
3376
3377         Bug 53289 - DOM: Move DocumentOrderedMap from Document into separate files
3378         https://bugs.webkit.org/show_bug.cgi?id=53289
3379
3380         Moving the nested class DocumentOrderedMap from Document into separate files,
3381         updating code where necessary.
3382
3383         No new tests. (refactoring)
3384
3385         * Android.mk:
3386         * CMakeLists.txt:
3387         * GNUMakefile.am:
3388         * WebCore.gypi:
3389         * WebCore.pro:
3390         * WebCore.vcproj/WebCore.vcproj:
3391         * WebCore.xcodeproj/project.pbxproj:
3392         * dom/Document.cpp:
3393         (WebCore::Document::getElementById):
3394         (WebCore::Document::getImageMap):
3395         * dom/Document.h:
3396         * dom/DocumentOrderedMap.cpp: Added.
3397         (WebCore::keyMatchesId):
3398         (WebCore::keyMatchesMapName):
3399         (WebCore::keyMatchesLowercasedMapName):
3400         (WebCore::DocumentOrderedMap::clear):
3401         (WebCore::DocumentOrderedMap::add):
3402         (WebCore::DocumentOrderedMap::remove):
3403         (WebCore::DocumentOrderedMap::get):
3404         (WebCore::DocumentOrderedMap::getElementById):
3405         (WebCore::DocumentOrderedMap::getElementByMapName):
3406         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
3407         * dom/DocumentOrderedMap.h: Added.
3408         (WebCore::DocumentOrderedMap::contains):
3409         (WebCore::DocumentOrderedMap::containsMultiple):
3410         * dom/DOMAllInOne.cpp:
3411
3412 2011-02-01  Naoki Takano  <takano.naoki@gmail.com>
3413
3414         Reviewed by Darin Fisher.
3415
3416         [Chromium] Autofill should work with HTML5 form elements
3417         https://bugs.webkit.org/show_bug.cgi?id=51809
3418         http://crbug.com/65654
3419
3420         No new tests, because this fix is for Chromium project and hard to test only in WebKit project.
3421
3422         * html/InputType.h: Insert comment for canSetSuggestedValue().
3423         * html/TextFieldInputType.cpp:
3424         (WebCore::TextFieldInputType::canSetSuggestedValue): Implemented to return always true for that all text filed inputs can be completed.
3425         * html/TextFieldInputType.h: Declare canSetSuggestedValue().
3426         * html/TextInputType.cpp: Delete canSetSuggestedValue() not to return true anymore.
3427         * html/TextInputType.h: Delete canSetSuggestedValue() not to return true anymore.
3428
3429 2011-02-01  Kent Tamura  <tkent@chromium.org>
3430
3431         Reviewed by Dan Bernstein.
3432
3433         REGRESSION (r65062): Safari loops forever under WebCore::plainTextToMallocAllocatedBuffer()
3434         https://bugs.webkit.org/show_bug.cgi?id=53272
3435
3436         * editing/TextIterator.cpp:
3437         (WebCore::TextIterator::handleTextBox): Pass the appropriate renderer to emitText().
3438
3439 2011-01-31  Alexey Proskuryakov  <ap@apple.com>
3440
3441         Reviewed by Maciej Stachowiak.
3442
3443         https://bugs.webkit.org/show_bug.cgi?id=53466
3444         Move WebKit2 to printing via API methods
3445
3446         * WebCore.exp.in: Export IntRect::scale().
3447
3448 2011-01-31  Patrick Gansterer  <paroga@webkit.org>
3449
3450         Reviewed by Adam Barth.
3451
3452         Remove obsolete comment after r41871
3453         https://bugs.webkit.org/show_bug.cgi?id=53406
3454
3455         * dom/Document.h:
3456
3457 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
3458
3459         Fix according to reviewer comments: can just use Color::black now.
3460
3461         * platform/graphics/ShadowBlur.cpp:
3462         (WebCore::ShadowBlur::drawInsetShadow):
3463         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
3464
3465 2011-01-31  Simon Fraser  <simon.fraser@apple.com>
3466
3467         Reviewed by Sam Weinig.
3468
3469         Clean up ShadowBlur
3470         https://bugs.webkit.org/show_bug.cgi?id=53472
3471
3472         Some minor ShadowBlur cleanup.
3473
3474         * platform/graphics/ShadowBlur.h:
3475         * platform/graphics/ShadowBlur.cpp:
3476         (WebCore::ShadowBlur::ShadowBlur): Use m_blurRadius rather than the radius
3477         paramter.
3478         (WebCore::ShadowBlur::adjustBlurRadius): Renamed from adjustBlurDistance.
3479         (WebCore::ShadowBlur::calculateLayerBoundingRect): Rename layerFloatRect to
3480         layerRect. Make frameSize a float.
3481         (WebCore::ShadowBlur::beginShadowLayer): This now takes a precomputed
3482         layerRect rather than calling calculateLayerBoundingRect() to compute
3483         it itself, since we were calling calculateLayerBoundingRect() twice.
3484         (WebCore::ShadowBlur::drawRectShadow): Optimize to call calculateLayerBoundingRect()
3485         only once. The shadowRect variable was unused, so two return paths could be
3486         collapsed into one.
3487         (WebCore::ShadowBlur::drawInsetShadow): Call calculateLayerBoundingRect() before
3488         beginShadowLayer() now.
3489         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): The layerRect gets passed in.
3490         We always used alpha=1, so no need to pass that in.
3491         (WebCore::ShadowBlur::drawRectShadowWithTiling): We always used alpha=1, so no need to
3492         pass that in. Move shadowRect down to first use.
3493         ShadowBlur::clipBounds() was unused.
3494
3495 2011-01-31  No'am Rosenthal  <noam.rosenthal@nokia.com>
3496
3497         Reviewed by Kenneth Rohde Christiansen.
3498
3499         [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
3500         https://bugs.webkit.org/show_bug.cgi?id=46748
3501
3502         This problem disappears when we register QWebElement using qRegisterMetaType, which we now do in QtInstance.
3503         Added a regression test to tst_QWebFrame.
3504
3505         * bridge/qt/qt_instance.cpp:
3506         (JSC::Bindings::QtInstance::QtInstance):
3507
3508 2011-01-27  MORITA Hajime  <morrita@google.com>
3509
3510         Reviewed by Dimitri Glazkov.
3511         
3512         Convert <progress> shadow DOM to a DOM-based shadow.
3513         https://bugs.webkit.org/show_bug.cgi?id=50660
3514
3515         * Removed RenderProgress::m_valuePart, moved the shadow node
3516           to the shadow root of HTMLProgressElement.
3517         * Removed hard-coded pseudo ID for -webkit-progress-bar-value.
3518           ProgressBarValueElement is defined only for overriding
3519           shadowPseudoId().
3520         
3521         No new tests. No behavioral change.
3522
3523         * css/CSSSelector.cpp:
3524         (WebCore::CSSSelector::pseudoId):
3525         (WebCore::nameToPseudoTypeMap):
3526         (WebCore::CSSSelector::extractPseudoType):
3527         * css/CSSSelector.h:
3528         * html/HTMLProgressElement.cpp:
3529         (WebCore::ProgressBarValueElement::ProgressBarValueElement):
3530         (WebCore::ProgressBarValueElement::shadowPseudoId):
3531         (WebCore::ProgressBarValueElement::create):
3532         (WebCore::ProgressBarValueElement::detach):
3533         (WebCore::HTMLProgressElement::parseMappedAttribute):
3534         (WebCore::HTMLProgressElement::attach):
3535         (WebCore::HTMLProgressElement::valuePart):
3536         (WebCore::HTMLProgressElement::didElementStateChange):
3537         (WebCore::HTMLProgressElement::createShadowSubtreeIfNeeded):
3538         * html/HTMLProgressElement.h:
3539         * rendering/RenderProgress.cpp:
3540         (WebCore::RenderProgress::~RenderProgress):
3541         (WebCore::RenderProgress::updateFromElement):
3542         (WebCore::RenderProgress::layoutParts):
3543         (WebCore::RenderProgress::shouldHaveParts):
3544         (WebCore::RenderProgress::valuePart):
3545         * rendering/RenderProgress.h:
3546         * rendering/style/RenderStyleConstants.h:
3547
3548 2011-01-31  Charlie Reis  <creis@chromium.org>
3549
3550         Reviewed by Mihai Parparita.
3551
3552         Add sanity check to help diagnose bug 52819
3553         https://bugs.webkit.org/show_bug.cgi?id=53402
3554
3555         Crash early if the children of fromItem look invalid.
3556
3557         * loader/HistoryController.cpp:
3558
3559 2011-01-31  Kalle Vahlman  <kalle.vahlman@movial.com>
3560