ChangeLog 2.08 MB
Newer Older
weinig's avatar
weinig committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
2007-07-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej.

        Patch for <rdar://problem/5329841>
        Calling window.closed on a closed window causes Safari to crash

        - Replaces the Frame member variable in KJS::Window for more appropriate DOMWindow
        - Adds additional new null checks as necessary
        - Removes bogus toBoolean method
        - Removes unused scheduleClose method

        Test: fast/dom/Window/window-closed-crash.html

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::create):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        (WebCore::JSDOMWindow::customPut):
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
        * bindings/js/kjs_events.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::Window):
        (KJS::Window::impl):
        (KJS::Window::interpreter):
        (KJS::Window::location):
        (KJS::Window::find):
        (KJS::allowPopUp):
        (KJS::createWindow):
        (KJS::canShowModalDialog):
        (KJS::canShowModalDialogNow):
        (KJS::showModalDialog):
        (KJS::Window::getValueProperty):
        (KJS::Window::childFrameGetter):
        (KJS::Window::indexGetter):
        (KJS::Window::namedItemGetter):
        (KJS::Window::getOwnPropertySlot):
        (KJS::Window::put):
        (KJS::Window::isSafeScript):
        (KJS::Window::setListener):
        (KJS::Window::getListener):
        (KJS::Window::clear):
        (KJS::WindowFunc::callAsFunction):
        (KJS::Window::updateLayout):
        (KJS::ScheduledAction::execute):
        (KJS::Window::disconnectFrame):
        (KJS::Location::put):
        (KJS::LocationFunc::callAsFunction):
        * bindings/js/kjs_window.h:
        * page/mac/WebCoreFrameBridge.mm:
        (updateRenderingForBindings):

bdash's avatar
bdash committed
56 57 58 59 60 61 62 63 64 65
2007-07-12  Mark Rowe  <mrowe@apple.com>

        Reviewed by Ada.

        <rdar://problem/5329877> REGRESSION: Document::setTransformSource leaks an xmlDocPtr if called more than once per document

        * dom/Document.cpp:
        (WebCore::Document::setTransformSource): Free any existing m_transformSource before overwriting it, rather than simply leaking it.
        * dom/Document.h:

66 67 68 69 70 71 72 73 74 75
2007-07-12  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

        Fix compilation of the CURL backend after the removing of accessors from ResourceHandle in r24202

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::setupPOST):
        (WebCore::ResourceHandleManager::startJob):

bdash's avatar
bdash committed
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
2007-07-12  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin.

        <rdar://problem/5327189> Logic error in DeprecatedString::to{,U}Int{,64} can lead to reading past end of buffer

        The fix for reading past the end of the buffer is to verify we are not at the end of the string before checking
        for a leading '+' character.  Rather than fixing the logic error in four nearly-identical functions I chose to
        extract the common functionality into the toIntegralType helper function which the four functions call through to.

        * platform/DeprecatedString.cpp:
        (WebCore::isCharacterAllowedInBase):
        (WebCore::toIntegralType):
        (WebCore::DeprecatedString::toInt):
        (WebCore::DeprecatedString::toInt64):
        (WebCore::DeprecatedString::toUInt):
        (WebCore::DeprecatedString::toUInt64):

94 95 96 97 98 99 100 101 102 103 104
2007-07-12  George Staikos  <staikos@kde.org>

        Reviewed by Alexey.

        Remove unused variables and fix rendering of comoboxes.

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMenuList):

oliver's avatar
oliver committed
105 106 107 108 109 110 111 112 113
2007-07-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej

        Fix for <rdar://problem/5329712> GMail crash when trying to compose new message

        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::containsCharacters):

ap's avatar
ap committed
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
2007-07-11  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=14584
        XMLHttpRequest treats null login/password incorrectly

        Test: http/tests/xmlhttprequest/null-auth.php

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::open):
        * xml/xmlhttprequest.h:
        Split the open() method into three to distinguish between missing and null credentials.

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): Call the appropriate open().

oliver's avatar
oliver committed
131 132 133 134 135 136 137
2007-07-11  Oliver Hunt  <oliver@apple.com>

        Build fix for windows

        * page/Frame.cpp:
        (WebCore::Frame::firstRectForRange):

oliver's avatar
oliver committed
138 139 140 141 142 143 144 145 146 147 148 149 150 151
2007-07-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej.

        Fix <rdar://problem/5329481> Character range rect code for IME support needs to be crossplatform

        Move -[WebCoreFrameBridge firstRectForDOMRange:] to Frame::firstRectForRange

        * page/Frame.cpp:
        (WebCore::Frame::firstRectForRange):
        * page/Frame.h:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge firstRectForDOMRange:]):

sfalken's avatar
sfalken committed
152 153 154 155 156 157 158 159 160 161 162
2007-07-11  Steve Falkenburg  <sfalken@apple.com>

        Static analysis build fix.
        
        Only specify /analyze (PREfast) if it is available.
        Prevents entire project from rebuilding each time.        

        Reviewed by Hyatt.

        * WebCore.vcproj/WebCore.vcproj:

163 164 165 166 167 168 169 170 171 172 173
2007-07-11  George Staikos  <staikos@kde.org>

        Reviewed by Olliej.

        Make comboboxes update when the current item is changed.

        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::updateFromElement):
        * platform/qt/QWebPopup.cpp:
        (WebCore::QWebPopup::activeChanged):

174 175 176 177 178 179 180 181 182
2007-07-11  George Staikos  <staikos@kde.org>

        Reviewed by Brady.

        Add a destructor to cleanup the SQL handle.

        * loader/icon/SQLDatabase.h:
        (WebCore::SQLDatabase::~SQLDatabase):

darin's avatar
darin committed
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
2007-07-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Darin.

        As of http://bugs.webkit.org/show_bug.cgi?id=14527 move the
        WebCore/ForwardingHeader/JavaScriptCore to JavaScriptCore

        * ForwardingHeaders/JavaScriptCore: Removed.
        * ForwardingHeaders/JavaScriptCore/APICast.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSBase.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSLock.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Removed.
        * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Removed.

andersca's avatar
andersca committed
201 202 203 204 205 206 207 208 209 210 211 212
2007-07-11  Anders Carlsson  <andersca@apple.com>

        Fix build.
        
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):
        (WebCore::didReceiveResponse):
        (WebCore::didReceiveData):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::didReceiveChallenge):

213
2007-07-11  George Staikos  <staikos@kde.org>
staikos's avatar
staikos committed
214 215 216 217 218 219

        Repair the build.

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):

adele's avatar
adele committed
220 221 222 223 224 225 226 227 228 229 230 231
2007-07-11  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/5230188> REGRESSION: Active/inactive marked text is not distinguished in textfields and textareas

        We were previously trying to leave room for 1px of space between the text and the underline.
        This change removes that requirement so that if we don't have room for the extra space, we still draw the thick underline
        touching the text.

        * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextUnderline):

andersca's avatar
andersca committed
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
2007-07-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin and Geoff.

        <rdar://problem/5313508>
        REGRESSION (Leopard): http/tests/xmlhttprequest/basic-auth.html hangs
        
        Leopard Foundation now ignores credentials passed in as part of the URL so we need to pass them ourselves.
        
        For the asynchronous case, we simply keep track of the URL and if it has a user name and password, we
        pass those if we're asked to authenticate.
                
        For the synchronous case, implement a new connection delegate and run it in a separate mode so 
        no other sources will fire.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously):
        (-[WebCoreResourceHandleAsDelegate dealloc]):
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
        (-[WebCoreSynchronousLoader _isDone]):
        (-[WebCoreSynchronousLoader dealloc]):
        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
        (-[WebCoreSynchronousLoader connection:didReceiveResponse:]):
        (-[WebCoreSynchronousLoader connection:didReceiveData:]):
        (-[WebCoreSynchronousLoader connectionDidFinishLoading:]):
        (-[WebCoreSynchronousLoader connection:didFailWithError:]):
        (-[WebCoreSynchronousLoader _data]):
        (-[WebCoreSynchronousLoader _response]):
        (-[WebCoreSynchronousLoader _error]):
        (+[WebCoreSynchronousLoader loadRequest:returningResponse:error:]):

darin's avatar
darin committed
265 266 267 268 269 270 271 272 273 274 275
2007-07-11  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix <rdar://problem/5315265> REGRESSION: Leopard launch time -
          there are about 190 stats of icudt36b files during launch

        * platform/TextEncodingRegistry.cpp: (WebCore::atomicCanonicalTextEncodingName):
        Add a special case for the empty string so we don't load the extended text
        encodings just so we can return 0 for that case.

andersca's avatar
andersca committed
276 277 278 279 280 281 282 283 284 285 286 287 288
2007-07-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Remove a bunch of unneeded accessors from ResourceHandle.
        
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveResponse):
        (WebCore::IconLoader::didFail):
        (WebCore::IconLoader::didFinishLoading):
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h:

justing's avatar
justing committed
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
2007-07-09  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin.
        
        <rdar://problem/5234383> REGRESSION: Sentence breaker method returning entire document length
        
        The functions for moving the caret to the next/previous sentence boundary
        were in many cases moving to the beginning/end of the document.  The functions that 
        should move the caret to an equivalent position in the next/previous sentence behaved
        like the aforementioned functions ought to.  Put the code from the second two functions
        in the first and made sure that the second two are properly FIXMEd.  They're rarely 
        used (filed 5323691).
        
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify): Added an option for sentenceBoundary granularity,
        so that we can test the functions that were broken from JS.
        * editing/visible_units.cpp:
        (WebCore::startOfSentence): Removed the FIXME about 5234383.
        (WebCore::endSentenceBoundary): Make this function do what nextSentencePositionBoundary
        current does.
        (WebCore::endOfSentence): Removed the FIXME about 5234383.
        (WebCore::previousSentencePosition): Removed an incorrect FIXME.
        (WebCore::nextSentencePositionBoundary): Tweaked FIXME.  This function is
        identical, not close to endSentenceBoundary.
        (WebCore::nextSentencePosition): Removed an incorrect FIXME.

rwlbuis's avatar
rwlbuis committed
315 316 317 318 319 320 321 322 323 324 325 326 327 328 329
2007-07-11  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=14453
        REGRESSION: www.nzherald.co.nz almost all the formating is gone
 
        Be less strict for the hex color definition.

        * css/CSSGrammar.y:
        * css/cssparser.cpp:
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::text):
        * css/tokenizer.flex:

rwlbuis's avatar
rwlbuis committed
330 331 332 333 334 335 336 337 338 339
2007-07-11  Rob Buis  <buis@kde.org>

        Reviewed by Oliver.

        Forgot to commit this as part of commit r24146. Now we are sure
        createElement creates elements in the xhtml namespace only.

        * ksvg2/svg/SVGDocument.cpp:
        * ksvg2/svg/SVGDocument.h:

weinig's avatar
weinig committed
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372
2007-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver.

        Move more attributes from the pure JS bindings in KJS::Window
        to the implementation in DOMWindow and autogenerate the new bindings

        Test: fast/dom/Window/get-set-properties.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot): Change to use propHashTable in
        JSDOMWindow instead of KJS::Window
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/scripts/CodeGeneratorJS.pm: Cleanup getValueProperty and put generation
        to reduce code duplication. 
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::closed):
        (WebCore::DOMWindow::length):
        (WebCore::DOMWindow::name):
        (WebCore::DOMWindow::setName):
        (WebCore::DOMWindow::status):
        (WebCore::DOMWindow::setStatus):
        (WebCore::DOMWindow::defaultStatus):
        (WebCore::DOMWindow::setDefaultStatus):
        * page/DOMWindow.h:
        (WebCore::DOMWindow::defaultstatus):
        (WebCore::DOMWindow::setDefaultstatus):
        * page/DOMWindow.idl:

weinig's avatar
weinig committed
373 374 375 376 377 378 379 380 381 382 383 384 385
2007-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Fix for <rdar://problem/5326791> XSS vulnerability: ability to set window.defaultStatus,
        window.defaultstatus and window.status cross domains

        Test: http/tests/security/cross-frame-access-put.html

        * bindings/js/kjs_window.cpp:
        (KJS::Window::put): Adds isSafeScript check for defaultStatus,
        defaultstatus and status cases.

weinig's avatar
weinig committed
386 387 388 389 390 391 392 393 394 395
2007-07-10  Sam Weinig  <sam@webkit.org>

        Fix build for BuildBot.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::outerHeight):
        (WebCore::DOMWindow::outerWidth):
        (WebCore::DOMWindow::screenX):
        (WebCore::DOMWindow::screenY):

beidson's avatar
beidson committed
396 397 398 399 400 401 402 403 404 405 406
2007-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam

        <rdar://problem/5326653> - REGRESSION: [WebBackForwardList forwardListCount] might return incorrect result

        No layout test because this is an API issue that can't be tested in DRT or the browser

        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::forwardListCount): If the index is NoCurrentItemIndex, return 0

weinig's avatar
weinig committed
407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441
2007-07-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Move more readonly attributes from pure JS bindings in KJS::Window
        to the implementation in DOMWindow and autogenerate the new bindings.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):  Sort the hashmap comment into categories
        to make further migration easier.
        * bindings/js/kjs_window.h: Sort the enum into categories to make further
        migration easier.
        (KJS::Window::):
        * page/DOMWindow.cpp: Add new methods.
        (WebCore::DOMWindow::focus):
        (WebCore::DOMWindow::blur):
        (WebCore::DOMWindow::offscreenBuffering):
        (WebCore::DOMWindow::outerHeight):
        (WebCore::DOMWindow::outerWidth):
        (WebCore::DOMWindow::innerHeight):
        (WebCore::DOMWindow::innerWidth):
        (WebCore::DOMWindow::screenX):
        (WebCore::DOMWindow::screenY):
        (WebCore::DOMWindow::scrollX):
        (WebCore::DOMWindow::scrollY):
        (WebCore::DOMWindow::getComputedStyle):
        (WebCore::DOMWindow::getMatchedCSSRules): Add null Document assertion.
        (WebCore::DOMWindow::devicePixelRatio): Add null Frame and Page checks.
        * page/DOMWindow.h:
        (WebCore::DOMWindow::screenLeft):
        (WebCore::DOMWindow::screenTop):
        (WebCore::DOMWindow::pageXOffset):
        (WebCore::DOMWindow::pageYOffset):
        * page/DOMWindow.idl:

oliver's avatar
oliver committed
442 443 444 445 446 447 448 449 450 451 452 453 454 455
2007-07-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/5326417> Editor::unmarkText needs to be crossplatform

        Missed this in earlier patch to make text marking platform independent.

        * editing/Editor.cpp:
        (WebCore::Editor::unmarkText):
           Add platform independent impl
        * editing/mac/EditorMac.mm:
           Remove the old mac path.

ggaren's avatar
ggaren committed
456 457 458 459 460 461 462 463 464 465 466 467 468 469 470
2007-07-10  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Tim Hatcher.

        Added a Page counter. This helped me while investigating 
        <rdar://problem/5314463> 40MB of WebKit memory still allocated after 
        closing large email in Mail

        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::):
        (WebCore::PageCounter::~PageCounter):
        (WebCore::Page::Page):
        (WebCore::Page::~Page):

thatcher's avatar
thatcher committed
471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
2007-07-10  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5326126> InspectorResource holds onto more data than it needs

        Reduces the fixed size of InspectorResource from 630 bytes to 224 bytes. Now
        selectively pick out parts of the ResourceRequest and ResourceResponse objects
        for the info needed and store that directly in InspectorResource.

        The ResourceRequest and ResourceResponse objects hold a reference to the original
        NSURL object, so almost double the data was being kept around. So the struct size
        reduction is just the tip of the ice burg on what this really saves.

        In a test of 100,000 XMLHTTPRequests using a 85 byte long data URL, I see ~21 MB less
        RSIZE compared to Safari running without this change.

        * page/InspectorController.cpp:
        (WebCore::InspectorResource::InspectorResource):
        (WebCore::InspectorResource::type):
        (WebCore::addSourceToFrame):
        (WebCore::scriptObjectForRequest):
        (WebCore::scriptObjectForResponse):
        (WebCore::InspectorController::addScriptResource):
        (WebCore::InspectorController::addAndUpdateScriptResource):
        (WebCore::updateResourceRequest):
        (WebCore::updateResourceResponse):
        (WebCore::InspectorController::updateScriptResourceRequest):
        (WebCore::InspectorController::updateScriptResourceResponse):
        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
        (WebCore::InspectorController::identifierForInitialRequest):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didFailLoading):
        * page/InspectorController.h:

darin's avatar
darin committed
507 508 509 510 511 512 513 514
2007-07-10  Darin Adler  <darin@apple.com>

        Reviewed by Brady.

        - fix crash introduced by my patch for 5318732, only seen in release builds

        * page/Page.cpp: (WebCore::Page::~Page): Added a missing null check.

515 516 517 518 519 520 521 522 523
2007-07-10  Andrea Cavalli  <amc82@cam.ac.uk>

        Reviewed by George Staikos.

        Fixed render theme for text field.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintTextField):

524 525 526 527 528 529 530 531 532 533 534 535 536
2007-07-10  Qing Zhao  <qing@staikos.net>

        Reviewed by George Staikos.

        Draw focus rings for nodes that are not rendered by QStyle.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::focusRingColor):
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::supportsFocusRing):
        (WebCore::RenderThemeQt::supportsFocus):

zimmermann's avatar
zimmermann committed
537 538 539 540 541 542 543 544 545 546 547
2007-07-10  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Geoff.

        Fix 'unsigned int' overflow in CodeGeneratorJS.pm.
        This fixes hashing of "SVG_FEBLEND_MODE_NORMAL". Its hashvalue exceeded 2^32, which
        is no problem in perl but in the cpp code. Emulate C/C++ behaviour by using "% 2^32" in
        the perl code. Testcase available in feature-branch soon (js-svg-constructors.svg).

        * bindings/scripts/CodeGeneratorJS.pm:

ggaren's avatar
ggaren committed
548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565
2007-07-10  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.

        Disabled Arena recycling in RenderArena. PLT shows no regression 
        (possibly a small speedup), and this can reduce allocated memory in 
        WebKit clients by about 120K (4K per Arena * 30 Arenas).
        
        I happened upon this optimization while investigating 
        <rdar://problem/5314463> WebKit hangs on to 40MB RAM after closing 
        large email in Mail (appears to be render tree arena allocator), 
        although I don't think it will come close to fixing that bug 
        completely.

        * rendering/RenderArena.cpp:
        (WebCore::RenderArena::~RenderArena): Use FinishArenaPool, which frees
        the ArenaPool's Arenas immediately.

weinig's avatar
weinig committed
566 567 568 569 570 571 572 573 574 575 576 577 578
2007-07-10  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14449
          REGRESSION (r14345-r14375): Absolutely positioned image does not scale to containing element's height

        Test: fast/replaced/absolute-position-percentage-height.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcReplacedHeightUsing): For positioned elements, evaluate
        the percentage with respect to the container's final height.

beidson's avatar
beidson committed
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599
2007-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe

        Add 64-bit integer converters to our string classes for future work

        * platform/DeprecatedString.cpp:
        (WebCore::DeprecatedString::toInt64):
        (WebCore::DeprecatedString::toUInt64):
        * platform/DeprecatedString.h:

        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::toInt64):
        (WebCore::String::toUInt64):

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::toInt64):
        (WebCore::StringImpl::toUInt64):
        * platform/StringImpl.h:

darin's avatar
darin committed
600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658
2007-07-10  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - fix <rdar://problem/5318732> REGRESSION: In Mail, a crash occurs when attempting to send
          a HTML based message (nytimes.com, washingtonpost.com, latimes.com)

        Did an audit of calls to get the inspector and most other uses of Page* and added null
        checks since Frame* can outlast its Page*.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow): Added null check.
        (WebCore::FrameLoader::loadSubframe): Ditto.
        (WebCore::FrameLoader::load): Ditto.
        (WebCore::FrameLoader::transitionToCommitted): Ditto.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Ditto.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
        (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
        (WebCore::FrameLoader::requestFromDelegate): Ditto.
        (WebCore::FrameLoader::canGoBackOrForward): Ditto.
        (WebCore::FrameLoader::getHistoryLength): Ditto.
        (WebCore::FrameLoader::historyURL): Ditto.
        (WebCore::FrameLoader::cachePageForHistoryItem): Ditto.
        (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Ditto.
        (WebCore::FrameLoader::goToItem): Ditto.
        (WebCore::FrameLoader::dispatchWindowObjectAvailable): Ditto.
        (WebCore::FrameLoader::dispatchDidCommitLoad): Ditto.
        (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): Ditto.
        (WebCore::FrameLoader::dispatchWillSendRequest): Ditto.
        (WebCore::FrameLoader::dispatchDidReceiveResponse): Ditto.
        (WebCore::FrameLoader::dispatchDidReceiveContentLength): Ditto.
        (WebCore::FrameLoader::dispatchDidFinishLoading): Ditto.
        (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Ditto.

        * page/ContextMenuController.h:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::ContextMenuController): Removed unneeded and
        unused Page* parameter.
        (WebCore::openNewWindow): Added null check.
        (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.

        * page/InspectorController.h:
        (WebCore::InspectorController::pageDestroyed): Added. Since this object is
        owned by the Page and has a back-pointer to it, it needs an explicit disconnect.
        There's already a higher-level one, but this is more reliable than that.
        * page/InspectorController.cpp:
        (WebCore::InspectorController::windowScriptObjectAvailable): Added null check.
        (WebCore::InspectorController::windowUnloading): Ditto.

        * page/Page.cpp:
        (WebCore::Page::Page): Updated for change in parameters of ContextMenuController 
        constructor.
        (WebCore::Page::~Page): Added call to InspectorController pageDestroyed().

        * page/Chrome.cpp: Updated includes.
        * page/DragController.cpp: Ditto.

659 660 661 662 663 664 665 666 667
2007-07-10  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        Bring scroll wheel out of Ludicrous Speed.

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

ggaren's avatar
ggaren committed
668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685
2007-07-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=13241 | <rdar://problem/5126396>
        onload fires before content is finished loading (woot.com)
        
        * dom/Document.cpp:
        (WebCore::Document::close): Try to go through the normal "Am I done loading?"
        machinery before dispatching the load event. As the comment indicates, 
        we can't do this in all cases, so the fix isn't perfect. However, a perfect 
        solution would require much riskier sweeping changes to the loader, which 
        are best left for later, I think.

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource): Removed a slightly
        worse solution to the same problem.

rwlbuis's avatar
rwlbuis committed
686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701
2007-07-10  Rob Buis  <buis@kde.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=8007
        createElement() and XHTML (A dynamically created table not rendered as such)

        Follow the HTML5 rules of making the name lowercase and then
        creating the element in the xhtml namespace.

        * dom/Document.cpp:
        (WebCore::Document::createElement):
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h:

702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735
2007-07-09  Qing Zhao  <qing@staikos.net>

        Reviewed by George Staikos.

        Add qt context menu support.

        * WebCore.pro:
        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:
        (WebCore::PlatformMenuItemDescriptionType::PlatformMenuItemDescriptionType):
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):
        (WebCore::ContextMenuItem::enabled):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::platformDescription):

andersca's avatar
andersca committed
736 737 738 739 740 741 742
2007-07-09  Anders Carlsson  <andersca@apple.com>

        Build fix.
        
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::performRequest):

andersca's avatar
andersca committed
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771
2007-07-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        Get rid of the node argument in our various script execution functions.
        
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        * bindings/js/kjs_proxy.h:
        * bindings/js/kjs_window.cpp:
        (KJS::ScheduledAction::execute):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::endElementNs):
        (WebCore::XMLTokenizer::notifyFinished):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::evaluateScript):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptExecution):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::replaceContentsWithScriptResult):
        (WebCore::FrameLoader::executeScript):
        * loader/FrameLoader.h:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):

justing's avatar
justing committed
772 773 774 775 776 777 778
2007-07-09  Justin Garcia  <justin.garcia@apple.com>

        Rolling the fix for 5290534 back in now that 5310404 has been fixed in Mail.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):

ggaren's avatar
ggaren committed
779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794
2007-07-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders Carlsson.

        A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
        
        Rename: "checkEmitLoadEvent" => "checkCallImplicitClose" because the function
        doesn't emit the load event; it just calls implicitClose.
        
        Rename: "m_wasLoadEventEmitted" => "m_didCallImplicitClose" because the variable
        tracks whether implicitClose was called.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Turned 12 lines of code into 6, adding ASSERT.
        * loader/FrameLoader.h: Removed bogus declaration of non-existent emitLoadEvent().

justing's avatar
justing committed
795 796 797 798 799 800 801 802 803 804 805 806 807
2007-07-09  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by John.
        
        REGRESSION: Crash when deleting table content in Leopard Mail

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): Use a RefPtr
        for the next node to delete, in case it is destroyed when the
        current node is deleted.  In the crash reported in the radar, we
        crash because the next node is the div that holds the delete button
        and it's destroyed when the node that contains the selection is removed.

808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866
2007-07-09  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        Convert QWebFrame from a QFrame to a pure QObject to eliminate all
        traces of widgets.

        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * platform/ScrollView.h:
        * platform/Widget.h:
        * platform/qt/PlatformScrollBarQt.cpp:
        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
        (WebCore::PlatformScrollbar::handleMousePressEvent):
        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::show):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
        (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::update):
        (WebCore::ScrollView::geometryChanged):
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::convertChildToSelf):
        (WebCore::ScrollView::convertSelfToChild):
        (WebCore::ScrollView::scrollbarUnderMouse):
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::paint):
        * platform/qt/WidgetQt.cpp:
        (WebCore::WidgetPrivate::WidgetPrivate):
        (WebCore::WidgetPrivate::~WidgetPrivate):
        (WebCore::WidgetPrivate::setGeometry):
        (WebCore::WidgetPrivate::geometry):
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::qwebframe):
        (WebCore::Widget::setQWebFrame):
        (WebCore::Widget::qwidget):
        (WebCore::Widget::setQWidget):
        (WebCore::Widget::setFrameGeometry):
        (WebCore::Widget::isEnabled):
        (WebCore::Widget::setEnabled):
        (WebCore::Widget::setIsSelected):
        (WebCore::Widget::invalidate):
        (WebCore::Widget::invalidateRect):
        (WebCore::Widget::removeFromParent):
        (WebCore::Widget::geometryChanged):
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):
        (WebCore::Widget::convertChildToSelf):
        (WebCore::Widget::convertSelfToChild):
        (WebCore::Widget::containingWindow):

andersca's avatar
andersca committed
867 868 869 870 871 872 873 874
2007-07-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        Add DocumentLoader::isLoadingMainResource.

        * WebCore.exp:

sullivan's avatar
sullivan committed
875 876
2007-07-09  John Sullivan  <sullivan@apple.com>

877 878
        Reviewed by Darin

sullivan's avatar
sullivan committed
879 880 881 882
        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        exported String::createCFString, needed for <rdar://problem/5320208>

mjs's avatar
mjs committed
883 884 885 886 887 888 889 890
2007-07-09  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        Test case for the bug below, which is http://bugs.webkit.org/show_bug.cgi?id=14207

        * manual-tests/flash-unload-tab.html: Added.

mjs's avatar
mjs committed
891 892 893 894
2007-07-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

darin's avatar
darin committed
895 896 897
        <rdar://problem/5295734> Repro crash closing tab/window @ maps.google.com in
        WTF::HashSet<KJS::RuntimeObjectImp*, WTF::PtrHash<KJS::RuntimeObjectImp*>,
        WTF::HashTraits<KJS::RuntimeObjectImp*> >::add + 11
mjs's avatar
mjs committed
898 899 900 901 902 903 904
        
        Automated test case is not possible. Did not bother with manual test this time.

        * bindings/js/kjs_dom.cpp:
        (WebCore::getRuntimeObject): Check that runtime root isn't null, as well as instance;
        this should cover the case where the plugin is already shut down and onunload time.

mjs's avatar
mjs committed
905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930
2007-07-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam.

        - fixed <rdar://problem/5220706> REGRESSION (TOT): repro crash in -[WebView(WebViewInternal) _addObject:forIdentifier:] [14425]
        http://bugs.webkit.org/show_bug.cgi?id=14425

        * bindings/js/kjs_window.cpp:
        (KJS::createWindow): No longer take an immediate argument - always do immediate loads
        on a newly created Window. Also, do a load of "" to make sure that the right info makes
        it to the app.
        (KJS::showModalDialog): Updated for above.
        (KJS::WindowFunc::callAsFunction): Updated for above.
        * dom/Document.cpp:
        (WebCore::Document::shouldBeAllowedToLoadLocalResources): If our URL is about:blank,
        we're allowed if our opener is (since the opener must have written the contents).
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation): Add a variant which takes a KURL, which it
        expects to be pre-completed. This is to avoid completing "" to the opener URL.
        (WebCore::FrameLoader::urlSelected): Allow loading empty URLs.
        * loader/FrameLoader.h:
        
        Test case is manual only, since it takes particular app behavior to reproduce:
        
        * manual-tests/new-window-subresource-crash.html: Added.

931 932 933 934 935 936 937 938 939 940 941 942 943 944
2007-07-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - fix leaks introduced in r24099

        * dom/Element.cpp:
        (WebCore::Element::~Element): Do not delete the cached computed style here.
        (WebCore::Element::detach): Delete the computed style here instead.
        (WebCore::Element::computedStyle): Removed a redundant ref() which was
        causing the leak. Changed to return 0 if the element is not attached,
        because in that case there is currently no way to tell when to delete the computed
        style.

weinig's avatar
weinig committed
945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985
2007-07-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12384
          getComputedStyle with td.style.display='none' reports '' for all properties except display

        Test: fast/css/computed-style-without-renderer.html

        Implement rich computed style for elements that do not have a renderer.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::getPositionOffsetValue): Changed to take a RenderStyle instead of
        a RenderObject.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
        use the computed style returned by the node instead of going through the
        renderer. Changed properties that compute by measuring the renderer to
        fall back on returning the length from the RenderStyle if a renderer does
        not exist.
        (WebCore::CSSComputedStyleDeclaration::length): Changed to return the number
        of properties we can compute even if the element has no renderer.
        (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): Changed
        to use the computed style returned by the node instead of going through the
        renderer.
        * dom/Element.cpp:
        (WebCore::ElementRareData::ElementRareData): Added a computed style member,
        used to cache computed style for elements that do not have a renderer.
        (WebCore::ElementRareData::resetComputedStyle): Added.
        (WebCore::Element::~Element): Delete the cached computed style.
        (WebCore::Element::recalcStyle): Added code to delete the cached computed
        style when necessary.
        (WebCore::Element::computedStyle): Added. Returns the style used in rendering
        the element, if available. Otherwise uses the style selector to compute style
        for the element.
        * dom/Element.h:
        * dom/Node.cpp:
        (WebCore::Node::computedStyle): Added. This method returns either the style
        used in rendering the node, or the style that would be used if the node
        had a renderer.
        * dom/Node.h:

986 987 988 989 990 991 992 993 994 995 996
2007-07-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14544
          Scroll wheel events are ignored when the cursor is over an iframe's border

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWheelEventToWidget): Changed to return false if
        the event coordinates are not inside the widget's NSView hierarchy.

rwlbuis's avatar
rwlbuis committed
997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
2007-07-08  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=10752
        The inspector should not respond to Make Text Smaller/Bigger commands

        Use the -webkit-text-size-adjust property to ignore text sizing        
        and do not take the zoom factor into account for line height when
        -webkit-text-size-adjust is set to none.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/inspector/inspector.css:

darin's avatar
darin committed
1012 1013 1014 1015 1016 1017 1018 1019 1020 1021
2007-07-08  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix <rdar://problem/5318994> Integer overflow in WebCore's Base64.cpp:base64Encode

        * platform/Base64.cpp:
        (WebCore::base64Encode): Check against a maximum size.
        (WebCore::base64Decode): Ditto.

darin's avatar
darin committed
1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050
2007-07-08  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check

        * platform/ThreadCheck.h: Renamed _WebCoreThreadViolationCheck to reportThreadViolation
        since it's in the WebCore namespace and also we shouldn't use leading underscores since
        those are reserved for the compiler and standard library. Added a new function named
        setDefaultThreadViolationBehavior and an enum for the parameter. Removed the
        threadViolationIsException parameter from WebCoreReportThreadViolation since we use
        a global variable for it now. Got rid of the unnecessary use of do while (0) in the
        WebCoreThreadViolationCheck macro -- since it's only a single function call it's already
        a statement and doesn't need to be turned into one with the do while (0) trick.

        * platform/mac/ThreadCheck.mm:
        (WebCore::readThreadViolationBehaviorFromUserDefaults): Moved the code to read from
        NSUserDefaults into this helper function. Changed it to use stringForKey instead of
        objectForKey so we don't get a "method not found" if someone puts something other than
        a string in there. Updated to use the new globals.
        (WebCore::setDefaultThreadViolationBehavior): Added.
        (WebCore::reportThreadViolation): Simplified, now that most of the work is in the
        readThreadViolationBehaviorFromUserDefaults function.
        (WebCoreReportThreadViolation): Changed to use a global variable instead of parameter
        to determine how to report a violation. Added LogOnFirstThreadViolation, which will
        log only once for each function that violates.

        * WebCore.exp: Updated for above changes.

1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066
2007-07-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14221
          Repro crash (ASSERTION FAILED: oldText in RenderBlock::updateFirstLetter() during relayout of :before content with first-letter style)

        Test: fast/css-generated-content/before-with-first-letter.html

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::updateBeforeAfterContentForContainer): If a child
        of the existing 'before' container is not text, do not assume that it is an
        image, since it can also be an inline wrapping a first-letter. In that case,
        do not update its style (so in particular, keep it a FIRST_LETTER type style)
        and leave it to updateFirstLetter() to take care of.

weinig's avatar
weinig committed
1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
2007-07-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Bailout early in Window::put() if attribute is readonly to avoid
        extra calls to isSafeScript().

        * bindings/js/kjs_window.cpp:
        (KJS::Window::put):

darin's avatar
darin committed
1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093
2007-07-07  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - fix <rdar://problem/5292364> REGRESSION: ZX Spectrum 3.0 widget - graphic anomalies in widget window frame

        Updated Dashboard quirk so it affects fill, stroke, and clip, rather than just stroke.

        Test: fast/canvas/fill-stroke-clip-reset-path.html

        * html/CanvasRenderingContext2D.h: Added clearPathForDashboardBackwardCompatibilityMode.
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): Added.
        (WebCore::CanvasRenderingContext2D::fill): Call the new function.
        (WebCore::CanvasRenderingContext2D::stroke): Replaced in-line code with a call to the new function.
        (WebCore::CanvasRenderingContext2D::clip): Call the new function.

darin's avatar
darin committed
1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106
2007-07-07  Rob Buis  <buis@kde.org>

        Reviewed and tweaked by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=8994
        Canvas doesn't reset on resize

        Also reset the rendering context when resetting the canvas.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        (WebCore::HTMLCanvasElement::drawingContext):

ap's avatar
ap committed
1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132
2007-07-07  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=14525
        Support exslt:node-set()

        Test: fast/xsl/exslt-node-set.xml

        * xml/XSLTExtensions.cpp: Added.
        (WebCore::exsltNodeSetFunction): A copy of exslt:node-set() implementation
        from libexslt 1.1.11 (shipped with Tiger).
        (WebCore::registerXSLTExtensions): This function registers any WebCore-provided
        extensions on a context. Currently, the only extension is exslt:node-set().
        * xml/XSLTExtensions.h: Added.

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::transformToString):
        Register extensions when creating a context.

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Add XSLTExtensions.{h,cpp} to projects.

mjs's avatar
mjs committed
1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144
2007-07-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
        
        test case: fast/loader/early-load-cancel.html

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks
        if we never even sent willSendRequest because we were deferred.

oliver's avatar
oliver committed
1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171
2007-07-06  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej.

        Pulled a number of methods from WebKit and WebCoreFrameBridge into 
        C++ objects.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * editing/Editor.cpp:
        (WebCore::Editor::replaceMarkedText):
            From -[WebCoreFrameBridge replaceMarkedTextWithText:]
        * editing/Editor.h:
        * page/Frame.cpp:
        (WebCore::Frame::setMarkedTextRange):
            Pulled platform independent logic from Mac specific implementation
        (WebCore::Frame::selectRangeInMarkedText):
            Converted from -[WebHTMLView _selectRangeInMarkedText:]
        * page/Frame.h:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::setMarkedTextRange):
            Now only does Mac specific logic when manipulating initial
            NSAttributedString
        * page/mac/WebCoreFrameBridge.h:
        * page/mac/WebCoreFrameBridge.mm:
            Removed -[WebCoreFrameBridge replaceMarkedTextWithText:]

1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193
2007-07-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14545
          REGRESSION (r21854-r21869): Repro crash in RenderBlock::updateFirstLetter @ nola.com/rose/

        Test: fast/css/first-letter-capitalized.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter): Moved the call to setFirstLetter
        further down so that the first letter is not destroyed if a text transform
        is applied to the remaining text fragment when it is add to the render tree.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::previousCharacter): Factored out of setTextInternal.
        (WebCore::RenderText::setTextInternal): Changed to call previousCharacter().
        * rendering/RenderText.h:
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::previousCharacter): Override to return the
        character in the original string before the start of the fragment. 
        * rendering/RenderTextFragment.h:

1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210
2007-07-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14536
          Unnecessary layout done when mousing down in text field

        No test possible because there is no change in functionality.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setStyle): Reset the height and the width in
        the old style to avoid getting a layout hint as a result of having mutated
        the old style during layout.
        (WebCore::RenderTextControl::layout): Update children's layout if an inner
        block's dimensions should change. This need for layout was previously masked
        by the bug.

1211 1212 1213 1214 1215 1216 1217
2007-07-06  Brady Eidson  <beidson@apple.com>

        Fix builds that use IconDatabaseNone.cpp - better, this time

        * loader/icon/IconDatabaseNone.cpp:
        (WebCore::IconDatabase::isOpen):

1218 1219 1220 1221 1222 1223 1224
2007-07-06  Brady Eidson  <beidson@apple.com>

        Fix builds that use IconDatabaseNone.cpp

        * loader/icon/IconDatabaseNone.cpp:
        (WebCore::IconDatabase::databasePath): 

sullivan's avatar
sullivan committed
1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254
2007-07-06  John Sullivan  <sullivan@apple.com>

        Reviewed by Brady
        
        - WebCore part of fix for: 
          <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
        
        * loader/icon/IconDatabase.h:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::isOpen): 
        made this method const (necessary to make IconDatabase::databasePath const)
        (WebCore::IconDatabase::databasePath): 
        new method, returns SQLDatabase's path if open, otherwise empty string
        
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::open):
        don't append a null character to the m_path ivar. The appended null character was making the path()
        method return a String with a trailing null, which is bad. However, there were no callers to the
        path() method until now. Instead of appending a null character to the ivar, use charactersWithNullTermination()
        instead of characters() when opening the database.
        
        * loader/icon/SQLDatabase.h:
        (WebCore::SQLDatabase::isOpen):
        made this method const (necessary to make IconDatabase::databasePath const)
        (WebCore::SQLDatabase::path):
        made this method const (not required for these changes, but seemed worth doing at the same time)

        * WebCore.exp:
        added symbol for IconDatabase::databasePath

1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313
2007-07-06  George Staikos  <staikos@kde.org>

        No real functional change - just move the localizations out and
        stick some placeholder text in.

        * platform/qt/Localizations.cpp: Added.
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::defaultLanguage):
        (WebCore::searchableIndexIntroduction):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
        (WebCore::contextMenuItemTagDownloadLinkToDisk):
        (WebCore::contextMenuItemTagCopyLinkToClipboard):
        (WebCore::contextMenuItemTagOpenImageInNewWindow):
        (WebCore::contextMenuItemTagDownloadImageToDisk):
        (WebCore::contextMenuItemTagCopyImageToClipboard):
        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
        (WebCore::contextMenuItemTagCopy):
        (WebCore::contextMenuItemTagGoBack):
        (WebCore::contextMenuItemTagGoForward):
        (WebCore::contextMenuItemTagStop):
        (WebCore::contextMenuItemTagReload):
        (WebCore::contextMenuItemTagCut):
        (WebCore::contextMenuItemTagPaste):
        (WebCore::contextMenuItemTagNoGuessesFound):
        (WebCore::contextMenuItemTagIgnoreSpelling):
        (WebCore::contextMenuItemTagLearnSpelling):
        (WebCore::contextMenuItemTagSearchWeb):
        (WebCore::contextMenuItemTagLookUpInDictionary):
        (WebCore::contextMenuItemTagOpenLink):
        (WebCore::contextMenuItemTagIgnoreGrammar):
        (WebCore::contextMenuItemTagSpellingMenu):
        (WebCore::contextMenuItemTagShowSpellingPanel):
        (WebCore::contextMenuItemTagCheckSpelling):
        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
        (WebCore::contextMenuItemTagFontMenu):
        (WebCore::contextMenuItemTagBold):
        (WebCore::contextMenuItemTagItalic):
        (WebCore::contextMenuItemTagUnderline):
        (WebCore::contextMenuItemTagOutline):
        (WebCore::contextMenuItemTagWritingDirectionMenu):
        (WebCore::contextMenuItemTagDefaultDirection):
        (WebCore::contextMenuItemTagLeftToRight):
        (WebCore::contextMenuItemTagRightToLeft):
        (WebCore::contextMenuItemTagInspectElement):
        (WebCore::searchMenuNoRecentSearchesText):
        (WebCore::searchMenuRecentSearchesText):
        (WebCore::searchMenuClearRecentSearchesText):
        (WebCore::AXWebAreaText):
        (WebCore::AXLinkText):
        (WebCore::AXListMarkerText):
        (WebCore::AXImageMapText):
        (WebCore::AXHeadingText):
        * platform/qt/TemporaryLinkStubs.cpp:

ggaren's avatar
ggaren committed
1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
2007-07-06  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders Carlsson.

        A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
        
        Moved url() and URL() methods next to each other to highlight their subtlety.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::url):
        * loader/FrameLoader.h:

ggaren's avatar
ggaren committed
1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340
2007-07-06  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders Carlsson.

        A little FrameLoader cleanup while working on <rdar://problem/5126396>.
        
        Renamed endIfNotLoading() to endIfNotLoadingMainResource() because "loading"
        and "loadingMainResource" have distinct meanings and this function
        honors the latter.

        (WebCore::FrameLoader::endIfNotLoadingMainResource): Protect after the
        early return to avoid ref count churn.
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::isLoadingMainResource): Inlined this function.

1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424
2007-07-06  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        Convert QWebFrame to a QFrame from a scroll area.

        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::passSubframeEventToSubframe):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::createDraggingClipboard):
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        * platform/ScrollView.h:
        * platform/Widget.h:
        * platform/qt/PlatformScrollBar.h:
        * platform/qt/PlatformScrollBarQt.cpp:
        (WebCore::PlatformScrollbar::setRect):
        (WebCore::PlatformScrollbar::frameGeometry):
        (WebCore::PlatformScrollbar::setFrameGeometry):
        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
        (WebCore::PlatformScrollbar::handleMousePressEvent):
        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate):
        (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
        (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
        (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
        (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::~ScrollView):
        (WebCore::ScrollView::setScrollArea):
        (WebCore::ScrollView::horizontalScrollBar):
        (WebCore::ScrollView::verticalScrollBar):
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::update):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::visibleContentRect):
        (WebCore::ScrollView::setContentsPos):
        (WebCore::ScrollView::resizeContents):
        (WebCore::ScrollView::setFrameGeometry):
        (WebCore::ScrollView::geometryChanged):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::contentsY):
        (WebCore::ScrollView::contentsWidth):
        (WebCore::ScrollView::contentsHeight):
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::scrollOffset):
        (WebCore::ScrollView::maximumScroll):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::scrollRectIntoViewRecursively):
        (WebCore::ScrollView::hScrollbarMode):
        (WebCore::ScrollView::vScrollbarMode):
        (WebCore::ScrollView::suppressScrollbars):
        (WebCore::ScrollView::setHScrollbarMode):
        (WebCore::ScrollView::setVScrollbarMode):
        (WebCore::ScrollView::setScrollbarsMode):
        (WebCore::ScrollView::setStaticBackground):
        (WebCore::ScrollView::inWindow):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::scrollbarUnderMouse):
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::removeChild):
        (WebCore::ScrollView::paint):
        (WebCore::ScrollView::wheelEvent):
        (WebCore::ScrollView::scroll):
        (WebCore::ScrollView::windowResizerRect):
        (WebCore::ScrollView::resizerOverlapsContent):
        (WebCore::ScrollView::adjustOverlappingScrollbarCount):
        (WebCore::ScrollView::setParent):
        (WebCore::ScrollView::addToDirtyRegion):
        (WebCore::ScrollView::scrollBackingStore):
        (WebCore::ScrollView::updateBackingStore):
        * platform/qt/WidgetQt.cpp:
        (WebCore::WidgetPrivate::canvas):
        (WebCore::WidgetPrivate::setGeometry):
        (WebCore::WidgetPrivate::geometry):
        (WebCore::Widget::setQWidget):
        (WebCore::Widget::paint):
        (WebCore::Widget::originalGeometry):
        (WebCore::Widget::geometryChanged):

andersca's avatar
andersca committed
1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436
2007-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        <rdar://problem/5280532> 
        REGRESSION: Can't access nested embed by document.name if object is not immediate parent
        
        Traverse up the tree looking for an object element.
        
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::getInstance):

1437 1438 1439 1440 1441 1442
2007-07-06  George Staikos  <staikos@kde.org>

        Qt build fix: Don't clobber qmake variables that are already set.

        * WebCore.pro:

mjs's avatar
mjs committed
1443 1444 1445 1446 1447 1448 1449 1450 1451
2007-07-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Antti.

        - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings

        * platform/StringHash.h:
        (WTF::): Adapt to newer way to do storage types.

1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462
2007-07-06  Bernhard Rosenkraenzer  <bero@arklinux.org>

        Reviewed by Sam.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13985
        Bug 13985: WebCore/rendering/RenderTable.cpp fails to compile with gcc 4.2.x

        * rendering/RenderTable.cpp:
        (WebKit::RenderTable::calcBorderLeft)
        (WebKit::RenderTable::calcBorderRight)

1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478
2007-07-06  Maxime Britto  <mbritto@pleyo.com>

        Reviewed by Maciej.

        Fix http://bugs.webkit.org/show_bug.cgi?id=13038
        Bug 13038: ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame

        Modify an ASSERT in goToItem related to going back/forward in history.  We don't need to check the frameset if the target is _blank.
        The attached test case is a manual one since it relies on having pages opened in tabs in Safari.

        * manual-tests/goBack-blank-tab-page.html: Added.
        * manual-tests/resources/before-go-back.html: Added.
        * manual-tests/resources/will-go-back.html: Added.
        * page/Page.cpp:
        (WebCore::Page::goToItem):

1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494
2007-07-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14400
          Assertion failure (SHOULD NEVER BE REACHED) going back on YouTube

        Test: fast/forms/button-state-restore.html

        * dom/Document.h:
        (WebCore::Document::isFormElementRegistered): Added.
        * html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::closeRenderer): Restore saved form
        element state only if the element is registered with the document to
        have its state saved.

1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507
2007-07-06  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14487
          Incomplete repaint of background and border of boxes with -webkit-border-fit:lines

        Test: fast/repaint/border-fit-lines.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Do a full repaint if
        -webkit-border-fit:lines was specified.

1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519
2007-07-06  Tony Chang  <idealisms@gmail.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=14516
        Bug 14516: crash loading multipart/x-mixed-replace data on windows safari

        NULL check m_resourceData to prevent a crash in Safari on Windows.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::clearResourceData):

1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543
2007-07-06  Jungshik Shin  <jungshik.shin@gmail.com>

        Reviewed by Alexey.

        - Add UTF-32 encoding support 
          http://bugs.webkit.org/show_bug.cgi?id=13415

        Test:
         - fast/encoding/utf-32-big-endian-bom.html
         - fast/encoding/utf-32-big-endian-nobom.xml
         - fast/encoding/utf-32-little-endian-bom.html
         - fast/encoding/utf-32-little-endian-nobom.xml

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForBOM):
        (WebCore::TextResourceDecoder::checkForHeadCharset):
        * platform/TextDecoder.cpp:
        (WebCore::TextDecoder::checkForBOM):
        * platform/TextDecoder.h:
        * platform/TextEncoding.cpp:
        (WebCore::UTF32BigEndianEncoding):
        (WebCore::UTF32LittleEndianEncoding):
        * platform/TextEncoding.h:

1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575
2007-07-06  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is
        to allocate one native control for each widget type. And use margins, spacing,
        style properties from the Widget. And for drawing use GtkStyle on the rect supplied.

        This should allow nice integration and be relative resource friendly. Mozilla is using
        a similiar approach. They seem to share the GdkPixmap among several operations and this
        will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and
        use that for drawing and then set clip regions for cairo to make sure to not go beyond the
        width and height.

        The next steps will be to introduce states for the widgets, add more widgets, handle focus,
        and various other style attributes, honor the size and margin and use that to propagate this
        back to RenderStyle*.

        * platform/gdk/RenderThemeGdk.cpp:
        (WebCore::RenderThemeGdk::RenderThemeGdk):
        (WebCore::RenderThemeGdk::setCheckboxSize):
        (WebCore::RenderThemeGdk::paintCheckbox):
        (WebCore::RenderThemeGdk::setRadioSize):
        (WebCore::RenderThemeGdk::paintRadio):
        (WebCore::RenderThemeGdk::paintButton):
        (WebCore::RenderThemeGdk::copyToContext):
        (WebCore::RenderThemeGdk::gtkButton):
        (WebCore::RenderThemeGdk::gtkCheckbox):
        (WebCore::RenderThemeGdk::gtkRadioButton):
        (WebCore::RenderThemeGdk::gtkWindowContainer):
        * platform/gdk/RenderThemeGdk.h:

rwlbuis's avatar
rwlbuis committed
1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590
2007-07-06  Rob Buis  <buis@kde.org>

        Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=14442
        Adding a stop with value 1.0 to a gradient that has already been used has no effect

        Implement start and end stop handling differently so they are not
        in the color stop array.

        * html/CanvasGradient.cpp:
        (WebCore::compareStops):
        (WebCore::CanvasGradient::getColor):
        (WebCore::CanvasGradient::findStop):

1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603
2007-07-06  Adam Roben  <aroben@apple.com>

        Fix <rdar://problem/5301994> Garbled text still showing on some sites

        Replace calls to GetGlyphIndices with wkGetGlyphs.

        Reviewed by Alice.

        * platform/win/GlyphPageTreeNodeWin.cpp:
        (WebCore::GlyphPage::fill): Use wkGetGlyphs.
        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::containsCharacters):

1604 1605 1606 1607 1608 1609 1610
2007-07-06  Matt Lilek  <pewtermoose@gmail.com>

        Not reviewed - Windows build fix.

        * bridge/win/FrameWin.cpp:
        (WebCore::imageFromSelection):

1611 1612 1613 1614 1615 1616 1617 1618 1619 1620
2007-07-06  George Staikos  <staikos@kde.org>

        Reviewed by Maciej.

        Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the
        flag via the .pro file

        * WebCore.pro:
        * loader/icon/IconDatabase.h:

sullivan's avatar
sullivan committed
1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674
2007-07-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Adam

        - WebCore part of fix for <rdar://problem/5315033>

        * rendering/RenderObject.h:
        replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
        (WebCore::RenderObject::PaintInfo::PaintInfo):
        replaced forceWhiteText with forceBlackText

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addLineBoxRects):
        added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
        at this level so this has no effect.

        * rendering/RenderText.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::addLineBoxRects):
        added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
        and height returned by selectionRect rather than replacing it with the more tight-fitting position
        and height of the line box.

        * dom/Range.h:
        * dom/Range.cpp:
        (WebCore::Range::addLineBoxRects):
        added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.        

        * page/Frame.h:
        renamed parameter to selectionImage
        * page/Frame.cpp:
        (WebCore::Frame::selectionTextRects):
        pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
        method will match the height that the selection would be painted here
        (WebCore::Frame::paint):
        updated for white->black name changes
        
        * page/mac/FrameMac.mm:
        (WebCore::Frame::selectionImage):
        updated for white->black name changes
        
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintTextDecorations):
        updated for white->black name changes

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        updated for white->black name changes

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        updated for white->black name changes, and actually use black instead of white. This was the goal
        of all the name changes.

andersca's avatar
andersca committed
1675 1676 1677 1678 1679 1680 1681 1682 1683 1684
2007-07-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        Fix layout test failures.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        Don't make a representation if we're creating the initial document.

1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701
2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>

        Fix Bug 14388: Input in text fields limited to 1024 characters
        http://bugs.webkit.org/show_bug.cgi?id=14388

        Slightly modified by Adam Roben.

        Reviewed by Adele.

        Tests: fast/forms/input-implicit-length-limit.html
               fast/forms/input-maxlength.html

        * html/HTMLInputElement.cpp: Bump limit to 524288.
        (WebCore::HTMLInputElement::init):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * html/HTMLInputElement.h:

andersca's avatar
andersca committed
1702 1703 1704 1705 1706 1707 1708
2007-07-05  Anders Carlsson  <andersca@apple.com>

        Build fix.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):

weinig's avatar
weinig committed
1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731
2007-07-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Add focus, blur and close functions to DOMWindow implementation class
        and move bindings from Window to JSDOMWindow.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getOwnPropertySlot):
        (KJS::WindowFunc::callAsFunction):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from
        the implementation to the header.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::focus):
        (WebCore::DOMWindow::blur):
        (WebCore::DOMWindow::close):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

justing's avatar
justing committed
1732 1733 1734 1735 1736 1737 1738 1739 1740 1741
2007-07-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Harrison.

        <rdar://problem/5279521> REGRESSION: In Mail, a crash occurs at WebCore::Range::startPosition() when attempting to apply alignment to selected image/text in message body

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have
        to come from a text node in order to emit a '\n' as we exit block containers.

andersca's avatar
andersca committed
1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753
2007-07-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup.

        Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the 
        plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway).
                 
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):

andersca's avatar
andersca committed
1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769
2007-07-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5106788>
        WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font)

        Let the document know when the user style sheet is loading so that it try not to display anything
        until the user style sheet has finished loading.
        
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
        (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
        (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
        (WebCore::Frame::setUserStyleSheetLocation):

weinig's avatar
weinig committed
1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782
2007-07-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window
        up into JSDOMWindow.  No change in functionality so no testcase required. 

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getOwnPropertySlot):
        * bindings/js/kjs_window.h:

weinig's avatar
weinig committed
1783 1784 1785 1786 1787 1788 1789 1790 1791 1792
2007-07-05  Mitz Pettel  <mitz@webkit.org>

        Reviewed and Landed by Sam.

        - fix bug 14465 for window.showModalDialog

        * bindings/js/kjs_window.cpp:
        (KJS::parseModalDialogFeatures):
        (KJS::showModalDialog):

weinig's avatar
weinig committed
1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803
2007-07-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Mitz.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=14465
        window.open() uses the literal "undefined" as the URL

        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url.
        * manual-tests/open-url-undefined.html: Added.

1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841
2007-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Rob Buis.

        Rework FontData and FontPlatformData for the Gdk work to make valgrind
        happy.

        Move destroying of FontConfig and Cairo objects held in FontPlatformData
        to FontData::platformDestroy. The ownership of these objects is held by
        FontData. This is following the Mac and Qt port at least.

        Currently it is possible that FontPlatformData will not create cairo resources
        in this case at least make sure the variables are initialized to 0.
        Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending
        on subtracing with not defined values.

        FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue
        about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix
        should be good enough to describe the Font. All other objects are created using these
        variables

        Replace C-style casts with C++ casts, in this case reinterpret_cast.

        * platform/gdk/FontDataGdk.cpp:
        (WebCore::FontData::platformInit): Don't assert
        (WebCore::FontData::platformDestroy): Take over ownership
        (WebCore::FontData::platformWidthForGlyph): initialize
        (WebCore::FontData::setFont): be paranoid and assert
        * platform/gdk/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData): Initialize everything
        (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription
        * platform/gdk/FontPlatformDataGdk.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this
        (WebCore::FontPlatformData::list): Don't use C-style casts.
        (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized
        (WebCore::FontPlatformData::operator==): Don't use C-style casts.

1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894
2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=14445
        GraphicsContextCairo code style cleanup

        Follow the cr naming convention for cairo_t*.
        Remove trailing whitespace.
        Replace C casts with C++ casts.
        Avoid needless casts.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::adjustLineToPixelBoundaries):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state.
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::origin):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformFont):
        (WebCore::GraphicsContext::concatCTM):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::scale):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme.
        (WebCore::BitmapImage::draw):
        (WebCore::Image::drawPattern):

1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=14531
        Cairo SVGImage::nativeImageForCurrentFrame() has no return

        Return the Cairo surface from the frame cache.

        Also add a fall-through else macro with notImplemented() so that future
        ports do not make the same mistake.

        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):

1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921
2007-07-05  Alp Toker  <alp.toker@collabora.co.uk>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=14513
        Cairo animated GIF support is broken

        Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs.

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameIsCompleteAtIndex):

1922 1923
2007-07-04  Matt Perry  <mpComplete@gmail.com>

bdash's avatar
bdash committed
1924 1925
        Reviewed by Adam.

1926 1927 1928 1929 1930 1931 1932 1933 1934 1935
        Fix for http://bugs.webkit.org/show_bug.cgi?id=13400
        Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location
        <rdar://problem/5153025>

        Treat userGesture as always true for setLocation, forcing a back/forward
        entry to be created.

        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::setLocation):

1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947
2007-07-04  Adam Roben  <aroben@apple.com>

        Restore MouseEventWithHitTestResults::targetNode's old behavior

        Reviewed by Mark.

        Fixes fast/images/imagemap-case and fast/replace/image-map.

        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner
        node, not the inner non-shared node.

aroben's avatar
aroben committed
1948 1949 1950 1951 1952 1953 1954 1955 1956 1957
2007-07-04  Adam Roben  <aroben@apple.com>

        Mac, Qt, and Gdk build fixes.

        * page/EventHandler.h:
        * page/gdk/EventHandlerGdk.cpp:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * page/qt/EventHandlerQt.cpp:

aroben's avatar
aroben committed
1958 1959 1960 1961 1962 1963 1964
2007-07-04  Adam Roben  <aroben@apple.com>

        Fix the Qt/Gdk builds.

        * page/gdk/EventHandlerGdk.cpp:
        * page/qt/EventHandlerQt.cpp:

1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984
2007-07-04  Adam Roben  <aroben@apple.com>

        Move tooltip logic down into WebCore so that it can be shared cross-platform

        Reviewed by Sam.

        * page/Chrome.cpp:
        (WebCore::Chrome::setToolTip): Added.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip.
        * platform/graphics/svg/SVGImageEmptyClients.h:

        Added stubs for Gdk:

        * platform/gdk/ChromeClientGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (ChromeClientGdk::setToolTip):

1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995
2007-07-04  Adam Roben  <aroben@apple.com>

        Add Settings::showsURLsInToolTips

        Reviewed by Sam.

        * WebCore.exp:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:

1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
2007-07-04  Adam Roben  <aroben@apple.com>

        Move logic for calling mouseDidMoveOverElement into WebCore

        Reviewed by Sam.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement.
        (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional
        HitTestResult* parameter which is used to communicate to the caller the
        node the mouse is over.
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::mouseMoved): Changed to call the overloaded
        mouseMoved().
        (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode
        through to the subframe so we can get the deepest node hovered, not
        just the node's parent frame.
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto.

aroben's avatar
aroben committed
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035
2007-07-04  Adam Roben  <aroben@apple.com>

        Add Chrome::mouseDidMoveOverElement

        This does the work of calling up to the ChromeClient (which will call
        the UI delegate).

        Reviewed by Sam.

        * page/Chrome.cpp:
        (WebCore::Chrome::mouseDidMoveOverElement): Added.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to
        ChromeClient.
        * platform/gdk/ChromeClientGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (ChromeClientGdk::mouseDidMoveOverElement):

2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048
2007-07-04  Adam Roben  <aroben@apple.com>

        Changed PlatformMouseEvent to store the modifier flags of the event

        Reviewed by Sam.

        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061
2007-07-04  Adam Roben  <aroben@apple.com>

        Add HitTestResult::setToNonShadowAncestor

        Reviewed by Sam.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
        HitTestResult::setToNonShadowAncestor.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::setToNonShadowAncestor):
        * rendering/HitTestResult.h:

2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078
2007-07-04  Adam Roben  <aroben@apple.com>

        Change MouseEventWithHitTestResults to hold onto a HitTestResult

        Reviewed by Sam.

        * dom/Document.cpp:
        (WebCore::Document::prepareMouseEvent):
        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
        (WebCore::MouseEventWithHitTestResults::targetNode):
        (WebCore::MouseEventWithHitTestResults::localPoint):
        (WebCore::MouseEventWithHitTestResults::scrollbar):
        * page/MouseEventWithHitTestResults.h:
        (WebCore::MouseEventWithHitTestResults::event):
        (WebCore::MouseEventWithHitTestResults::hitTestResult):

pewtermoose's avatar
pewtermoose committed
2079 2080 2081 2082 2083 2084
2007-07-04  Matt Lilek  <pewtermoose@gmail.com>

        Not reviewed, gdk build fix.

        * platform/gdk/FrameGdk.cpp:

antti's avatar
antti committed
2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105
2007-07-05  Antti Koivisto  <antti@apple.com>

        Reviewed by John.
        
        Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
        <rdar://problem/5237811>
        
        It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
        was added to such a part, as in
        
        div.innerHTML = '<tbody><table>';
        
        the parser error handling code would try to pop the previous table as normal. However since
        the table does not actually exist nothing would happen and parser would go to infinite recursion.
        
        Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
        the table straight away (as it might not exist).

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):

2106 2107 2108 2109 2110 2111 2112 2113 2114
2007-07-04  Qing Zhao  <qing@staikos.net>

        Reviewed by George Staikos.

        Draw menulist (comboboxes) without text overlap on the button.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::setPopupPadding):

staikos's avatar
Compile  
staikos committed
2115 2116 2117 2118 2119 2120 2121
2007-07-04  George Staikos  <staikos@kde.org>

        Compile

        * page/qt/FrameQt.cpp:
        * WebCore.pro:

weinig's avatar
weinig committed
2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139
2007-07-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Mitz.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
        REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly

        - Made it possible (again) to shadow window properties with local variable names.

        Test: fast/dom/Window/window-property-shadowing.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customPut):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::put):
        * bindings/scripts/CodeGeneratorJS.pm:
        * page/DOMWindow.idl:

aliceli1's avatar
aliceli1 committed
2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180
2007-07-03  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adam.

        Fixed <rdar://problem/5225119> support smart pasting on Windows

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            Added new files
        * editing/SmartReplace.cpp: Added.
        (WebCore::isCharacterSmartReplaceExempt):
            Added non-CF implementation placeholder
        * editing/SmartReplace.h: Added.
        * editing/SmartReplaceCF.cpp: Added.
        (WebCore::getSmartSet):
        (WebCore::isCharacterSmartReplaceExempt):
            Added new implementation

        * bridge/win/FrameWin.cpp:
        * page/Frame.h:
        * page/mac/FrameMac.mm:
            Removed old declaration and implementation

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
            Changed to call the new function instead of old

        * page/mac/WebCoreFrameBridge.h:
        * page/mac/WebCoreFrameBridge.mm:
            Removed old declaration and implementation
        (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
            Changed to call the new function instead of old

        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::Pasteboard):
            Register new clipboard format
        (WebCore::Pasteboard::writeSelection):
            Set data for smartpaste format on clipboard
        (WebCore::Pasteboard::canSmartReplace):
            Added non-stub implementation

2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191
2007-07-04  Qing Zhao  <qing@staikos.net>

        Reviewed by George Staikos.

        Similar to the PlatformScrollbar fixes, adjust the painter to make the
        styler draw all subcontrols, and in this case the focus rect, in the
        proper location

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintMenuList):

2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208
2007-07-04  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14495
          REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
          <rdar://problem/5312384>

        No test possible because DumpRenderTree cannot query the current cursor.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor): Changed into a member function and
        added that if the last mouse down event could not have started a
        selection, then the cursor should not change to an I-beam unconditionally.
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/EventHandler.h:

2209 2210 2211 2212 2213 2214 2215 2216
2007-07-04  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Rob Buis.

        A little progress in tracking dependencies.

        * WebCore.pro: Add DEPENDPATH for the Gdk port.

darin's avatar
darin committed
2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237
2007-07-03  Darin Adler  <darin@apple.com>

        Reviewed by Tim Hatcher.

        - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes

        Test: editing/style/font-family-with-space.html

        * css/FontFamilyValue.cpp:
        (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
        (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
        checking for a leading "#" character.
        * editing/markup.cpp:
        (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
        (WebCore::renderedText): Changed to return a String for better efficiency.
        (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
        (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
        to escapeTextForMarkup in the special case for the style property.
        (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
        call to escapeTextForMarkup in two special cases for the style property.

weinig's avatar
weinig committed
2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259
2007-07-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Twelfth round of fixes for implicit 64-32 bit conversion errors.
        <rdar://problem/5292262>

        - Add casts and accompanying FIXMEs to avoid remaining compiler errors.

        * WebCore.xcodeproj/project.pbxproj:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::opened):
        (WebCore::FrameLoader::sendRemainingDelegateMessages):
        * loader/FrameLoader.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveData):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::nsURLResponse):

andersca's avatar
andersca committed
2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271
2007-07-03  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        <rdar://problem/5093862>
        Nothing shown in plugin area when trying to play content using the DivX plugin
        
        Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
                
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::determineQuirks):

weinig's avatar
weinig committed
2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284
2007-07-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Ninth round of fixes for implicit 64-32 bit conversion errors.
        <rdar://problem/5292262>

        - Fix function signature to use unsigned long instead of unsigned long long.

        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::completeProgress):
        * loader/ProgressTracker.h:

weinig's avatar
weinig committed
2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2